J'essaie d'effectuer une Jointure entre plusieurs tables dans LINQ. J'ai les classes suivantes :
Product {Id, ProdName, ProdQty}
Category {Id, CatName}
ProductCategory{ProdId, CatId} //association table
J'utilise le code suivant (où product
, category
y productcategory
sont des instances des classes susmentionnées) :
var query = product.Join(productcategory, p => p.Id, pc => pc.ProdID, (p, pc) => new {product = p, productcategory = pc})
.Join(category, ppc => ppc.productcategory.CatId, c => c.Id, (ppc, c) => new { productproductcategory = ppc, category = c});
Avec ce code, j'obtiens un objet de la classe suivante :
QueryClass { productproductcategory, category}
Lorsque producproductcategory est de type :
ProductProductCategoryClass {product, productcategory}
Je ne comprends pas où se trouve la "table" jointe, je m'attendais à ce qu'il y ait une "table" jointe. classe unique qui contient toutes les propriétés des classes concernées.
Mon objectif est de remplir un autre objet avec certaines propriétés résultant de la requête :
CategorizedProducts catProducts = query.Select(m => new { m.ProdId = ???, m.CatId = ???, //other assignments });
comment puis-je atteindre cet objectif ?