2016-08-19 13 views
4

私はASP.NET MVCで簡単なフォーラムを書いています。ASP.NET MVC - 最後の投稿に応じてフォーラムスレッドを並べ替えます

カテゴリビューでは、最新のスレッドを表示する必要があります。

日付を追加するスレッドによってソートすると私のコード:

model.ForumThreads = db.ForumThreads 
    .Where(t => t.ForumThreadCategoryId == id) 
    .OrderByDescending(t => t.AddDate) 
    .ToPagedList(page, 10); 

ForumPostモデルはForumThreadモデルへの外部キーを持っています。

問題は次のとおりです。 最後の投稿でスレッドを並べ替える方法はありますが、投稿がない場合はスレッドで並べ替えて日付を追加します。

答えて

5

利用三ifオペレータ(他?その後、:場合):

model.ForumThreads = db.ForumThreads 
    .Where(t => t.ForumThreadCategoryId == id) 
    .OrderByDescending(t => t.ForumPosts.Any() //if 
         ? t.ForumPosts.Max(x=>x.AddDate) //then by post add date 
         : t.AddDate) //else like you already do 
    .ToPagedList(page, 10); 
+0

おかげで、少し修正し、それが動作します! – Dave

関連する問題