首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在LINQ lambda中实现多个表的连接

如何在LINQ lambda中实现多个表的连接
EN

Stack Overflow用户
提问于 2012-03-15 21:00:06
回答 6查看 233.4K关注 0票数 98

我正尝试在LINQ中的多个表之间执行连接。我有以下几个类:

Product {Id, ProdName, ProdQty}

Category {Id, CatName}

ProductCategory{ProdId, CatId} //association table

我使用以下代码(其中productcategoryproductcategory是上述类的实例):

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

我如何才能实现这个目标?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9720225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档