我正尝试在LINQ中的多个表之间执行连接。我有以下几个类:
Product {Id, ProdName, ProdQty}
Category {Id, CatName}
ProductCategory{ProdId, CatId} //association table
我使用以下代码(其中product
、category
和productcategory
是上述类的实例):
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});
使用这段代码,我从下面的类中获得了一个对象:
QueryClass { productproductcategory, category}
其中producproductcategory的类型为:
ProductProductCategoryClass {product, productcategory}
我不知道连接的“表”在哪里,我期望的是一个包含相关类的所有属性的单类。
我的目标是用查询得到的一些属性填充另一个对象:
CategorizedProducts catProducts = query.Select(m => new { m.ProdId = ???, m.CatId = ???, //other assignments });
我如何才能实现这个目标?
https://stackoverflow.com/questions/9720225
复制相似问题