私は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
各グループの一番上にあるはずの私の最新の投稿が、どのように山の一番下に配置されているかを確認してください。どういうわけか投稿を注文する必要があることは知っていますが、これを行う方法がわかりません。各グループ内で投稿を並べ替える簡単な方法があるので、最新の投稿が各グループの一番上に配置されます。ご協力ありがとうございました。