我有一羣學生,我想按他們的班級將他們分組,如新生,大二,初中,高中。然後我想要通過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