如何在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()...