我有一群学生,我想按他们的班级将他们分组,如新生,大二,初中,高中。然后我想要通过GPA订购它们。在LINQ中的GroupBy中使用OrderBy
所以,如果我只是想获得最好的GPA的学生,我的潜在结果集将是这样的:
Freshman - Name: James GPA : 3.9
Sophomore - Name: Jessie GPA : 4.0
Junior - Name: Caitlyn GPA: 3.9
Senior - Name: Joshua GPA: 3.95
我已经试过这样的事情:
var result = students.GroupBy(x => x.Level).OrderByDescending(x => x.GPA).Take(count).ToList();
但它总是打破,我不知道如何解决它。我试着在它们之间放置一个Select,并在Select中移动OrderBy,但是我也无法使它工作。
*但它总是打破,我不知道如何解决它。*打破如何?如果你使用的是NHibernate,那么它的LINQ提供者不是很好。 – 2015-02-10 11:14:07
最有可能它不编译,因为组上没有GPA属性 – 2015-02-10 11:14:42
我不太确定它为什么会打破,说实话。我会以一种不会抛出错误的方式,但是当我运行它时,程序崩溃。我只是使用常规的Linq using语句使用Visual Studio。 – user3113376 2015-02-10 11:16:24