我想开发一个讨论应用程序,其中有许多论坛。在每个论坛中都可以有很多主题。在每个帖子中,都可以有很多帖子。在SQL中,我有以下四个表:
FORUMS
THREADS
POSTS
USERS
使用数据库中所有论坛的以下列返回列表的最佳方法是什么(列表中的一行对应FORUMS
中的一行):
Forum
- FORUMS.Name Forum
Forum
Forum
Forum
Forum
的最新帖子由于
答案 0 :(得分:1)
类似的东西:
var query = from f in context.Forums
select new
{
Name = f.Name,
Threads = f.Threads.Count(),
Posts = f.Threads.Sum(t => t.Posts.Count()),
LastThread = f.Threads.OrderByDescending(t => t.Id).First().Subject,
LastPostSubmitter = f.Threads.SelectMany(t => t.Posts).OrderByDescending(p => p.SubmitterOn).First().Name,
LastPostSubmitterTime = f.Threads.SelectMany(t => t.Posts).OrderByDescending(p => p.SubmitterOn).First().SubmitterOn
}