Linq 查询以获取超过 X 条评论的所有帖子

Posted

技术标签:

【中文标题】Linq 查询以获取超过 X 条评论的所有帖子【英文标题】:Linq query to get all posts with more than X comments 【发布时间】:2015-10-15 15:21:02 【问题描述】:

我正在用asp mvc5 构建一个小型博客应用程序。 我正在尝试添加一个使用 LINQ to SQL 查询的搜索选项。 我的表是这样的:

Posts:PostID(int), Title(nvarchar), Body(nvarchar)

Comments:CommentID(int), Comment(nvarchar), PostID(int)

Comments 表中的 PostID 将评论对象与特定帖子相关联。

我正在尝试编写一个查询,给定数字 X 将返回所有包含 X 或更多 cmets 的帖子。

是否可以在一个查询中完成?

谢谢,大卫

【问题讨论】:

LINQ to 什么?你试过什么? db.Posts.Where(p => p.Comments.Count() > x) 你使用 entityframework(什么版本)或 linq-to-sql 之类的? 谢谢大卫,你写的解决了我的问题 @David 请发表您的评论作为答案,以便我们接受。 【参考方案1】:

嗯,我们知道的是您的模型结构或您使用的 LINQ 提供程序。但是,一般,对于结构良好的域模型,您只需这样做:

db.Posts.Where(p => p.Comments.Count() > x)

给定一个整数变量x,这应该评估为Post 对象的集合,其中有多个x cmets。

【讨论】:

以上是关于Linq 查询以获取超过 X 条评论的所有帖子的主要内容,如果未能解决你的问题,请参考以下文章

cakephp 查找所有有评论的帖子

获取用户评论以及在同一查询中分组的所有评论

Mongoose 查询:填充来自 Post Schema 的前 2 条评论

MYSQL 查询 - 获取与帖子相关的最新评论

如何获取当前帖子的 ID 以添加评论

使用 adonisJs 从所有帖子中获取所有相关评论