Vorgehensweise Join zwischen mehreren Tabellen in LINQ Lambda

Ich versuche, führen Sie eine Verknüpfung zwischen mehreren Tabellen in LINQ. Ich habe die folgenden Klassen:

Product {Id, ProdName, ProdQty}

Category {Id, CatName}

ProductCategory{ProdId, CatId} //association table

Und ich den folgenden code verwenden (wo productcategory und productcategory sind Instanzen der oben genannten Klassen):

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});

Mit diesem code habe ich erhalten, ein Objekt der folgenden Klasse:

QueryClass { productproductcategory, category}

Wo producproductcategory Typ:

ProductProductCategoryClass {product, productcategory}

Verstehe ich nicht, wo die verknüpften "Tabelle" ist, erwartete ich eine einzelne Klasse enthält alle Eigenschaften, die von den beteiligten Klassen.

Mein Ziel ist, füllen Sie ein anderes Objekt mit einigen Eigenschaften ergeben sich aus der Abfrage:

CategorizedProducts catProducts = query.Select(m => new { m.ProdId = ???, m.CatId = ???, //other assignments });

wie kann ich dieses Ziel erreichen?

InformationsquelleAutor der Frage CiccioMiami | 2012-03-15

Schreibe einen Kommentar