我对 Linq 还很陌生,所以请放轻松。我正在创建一个博客站点,而不是使用罐装解决方案,并且我正在使用 MVC 3 构建它。我有一个按年份显示帖子的存档页面。在存储库中,代码是:
IEnumerable<IGrouping<int, Post>> groupedPosts = _dataContext.Posts
.GroupBy(s => s.PostDate.Year)
.OrderByDescending(p => p.Key).ToList();
如您所见,我正在列出一个帖子列表并按年份对它们进行分组。在这种情况下,关键当然是年份。在视图中,我遍历集合,一切都正确显示。但是,我注意到当我插入一个新帖子时,因为我是按年份排序的,所以组内的新帖子被放在了底部并且已经过时了。例如,在插入 2013 年 4 月 20 日的帖子后,存档显示以下内容:-
2013
Aha, I'm back
Posted: 15 April 2013
Aha, I'm back
Posted: 07 April 2013
Thinking Too Much
Posted: 02 March 2013
Blog 2 Title Category XHTML
Posted: 02 February 2013
Latest Blog Post
Posted: 20 April 2013
看看我的最新帖子应该在每个分组的顶部时如何放在堆的底部。我知道我需要以某种方式订购帖子,但不知道该怎么做。有没有一种简单的方法可以对每个组内的帖子进行排序,所以最新的帖子放在每个组的顶部。感谢您的帮助。