无论如何,选择最近的帖子和最近的线程



我正在使用 LINQ 并将此命令链接到模型中。

model.LatestPosts = db.TPGForums.SelectMany(m => m.TPGForumTopics)
                                .SelectMany(m => m.TPGForumPosts)
                                .SelectMany(m => m.TPGForumThreads)
                                .OrderByDescending(m => m.dateCreated)
                                .Take(5);

然而,这只会让我回到线程。 我需要TPGForumPostsTPGForumThreads中的最后 5 个最新项目。 我将如何返回最近的 5 个帖子/线程,而不仅仅是最近的线程?

嵌套SelectMany调用,而不是链接它们:

var query = db.TPGForums
    .SelectMany(forum => forum.TPGForumTopics
        .SelectMany(topic => topic.TPGForumPosts
            .SelectMany(post => post.TPGForumThreads
                .Select(thread => new { forum, topic, post, thread }))))
    .OrderByDescending(m => m.thread.dateCreated)
    .Take(5);

相关内容

  • 没有找到相关文章

最新更新