これらの単純なクラスに問題があります。
public class Thread
{
public string Title { get; set; }
public ICollection<Post> Posts { get; set; }
}
public class Post
{
public DateTime Posted { get; set; }
public string Text { get; set; }
}
最新の投稿順でソートされたすべてのスレッドを返す LINQ クエリが必要です。と を持つ Entity Framework DbContext を想定するThreads
とPosts
、どのように記述しますか? グループ化は簡単です:
from t in Threads
group t.Posts by t into tg
select tg.Key;
しかし、最新のスレッドに基づいてスレッドをソートする方法はPost.Posted
?
編集 - Jons の回答に基づく解決策:
from t in Threads
from p in t.Posts
group p by t into tg
orderby tg.Max(p => p.Posted) descending
select tg.Key