LINQ选择很多问题

时间:2011-05-25 20:26:22

标签: linq-to-sql select linq

您可以在针对您的数据库的查询中使用SelectMany吗?如果可以,该列需要什么类型才能执行此操作?我正在使用LINQPad,任何时候我尝试使用SelectMany我都会收到错误,从我正在阅读的内容来看,你的lambda表达式中的类型必须是一个集合。

2 个答案:

答案 0 :(得分:1)

Houses.SelectMany(h => h.HousesPersons.Select(hp => hp.Person.Name))

如果你有3张桌子。房屋,房屋人员和人员。 房屋与使用HousesPersons存储HouseId和PersonId的人员有一对多的关系。

此查询将为您提供平面列表中所有房屋中所有人员的列表,而不是按照众议院分组。

编辑:抱歉,我无法让AdventureWorks在我的机器上工作以使用教科书示例。

答案 1 :(得分:0)

SelectMany将序列的每个元素(即对象的属性,即枚举或列表)投影到IEnumerable<T>中,并将生成的序列序列展平为单个序列/ {{1 }}。

说过它可以适用于Linq to Entities环境 - 你可以选择选择多个实体的导航属性(相关实体)并将它们吐出一个列表。