Linq分组在视图表上

时间:2013-09-10 17:35:49

标签: linq linq-to-entities

我在SQL Server中有一个视图,它是多对多的聚合。所以返回的数据是这样的:

User1 : Data1
User1 : Data2
User1 : Data3
User2 : Data1
User2 : Data2

通常,如果我使用LINQ with Entity Framework,我会使用导航属性并获取嵌套列表。所以我可以通过连接表中的数据遍历用户和嵌套循环。

平面视图只是一个大清单。我正在尝试对用户进行分组,以便我可以使用相同的foreach循环来显示数据。

,例如,

User1 - Data1, Data2, Data3
User2 - Data1, Data2, Data3

有没有办法基于单个表(视图)以这种方式创建分组

希望这是有道理的。

1 个答案:

答案 0 :(得分:0)

这样的事情应该这样做。

var q = from x in db.tbl
        group x by x.User into g
        select new
        {
           User = g.Key,
           Data = g.Select(y => y.Data)
        };