如何在LINQ中执行分组并获取Iqueryable或自定义类对象?
这是我的查询 –
var data = Goaldata.GroupBy(c => c.GoalId).ToList();
这将返回一个Igrouping对象,我想要一个Iqueryable对象,我可以直接查询以获取数据,而在这种情况下,我必须使用foreach()循环,然后获取数据。 是否有另一种在LINQ中分组的方法,它直接作为Iqueryable或List的列表返回,类似于LINQ中的顺序。
最简单的方法可能就是
var data = Goaldata.GroupBy(c => c.GoalId).SelectMany(c => c).ToList();
在OO意义上,它们并没有真正分组,但它们与各组一起订购。
虽然接受的答案是正确的,但似乎不必要地复杂化。 假设GoalId
是一个int
你可以使用OrderBy
:
var data = Goaldata.OrderBy(c => c.GoalId).ToList();
或.GroupBy(c => c.GoalId).AsQueryable()...