我有一个场景,我的数据看起来像这样。获取第一个项目和最后一个项目,如果它存在于一个组中
Books --------------------------------- title | returnedDate Great Gatsby | 2015-05-04 Great Gatsby | 2015-03-22 Great Gatsby | 2015-01-11 Life of PI | 2015-04-04 Life of PI | 2015-04-02 Clean Code | 2015-06-05
我想每个组返回最先和最后一本书(按标题分类)在一个单一的LINQ语句。我知道我可以用这样的linq查询来获得第一个或最后一个项目。
var books = dbContext.Books
.GroupBy(b => b.title)
.Select(g => g.OrderDescending().FirstOrDefault());
如果存在最后一项,我该如何获得?
我最终的结果会是什么样子:
Books --------------------------------- title | returnedDate Great Gatsby | 2015-05-04 Great Gatsby | 2015-01-11 Life of PI | 2015-04-04 Life of PI | 2015-04-02 Clean Code | 2015-06-05
哎哟,看起来很吓人。无论如何感谢您的答案。 – Andrew