我试图找出如何计算从孩子到孩子的所有项目,其中一个名为" IsVerified"是真的。我得到了前两个孩子(BlogPost - >评论(孩子) - > SubComments(孩子))但我无法弄清楚如何计算第三个孩子
模型的结构类似于此 BlogPost - >评论 - >子评论 - > SubSubComments
我无法向您展示真实模型,所以这里是一个例子:
https://gist.github.com/anonymous/c357bfdd158cc6a392d9
它全部工作而不是第三个孩子。
我希望你能帮助我。
感谢。
答案 0 :(得分:2)
类似的东西:
// Don't need ToList here, lazy is fine
var blogs = db.BlogPosts.Include("Comments.SubComments.SubSubComments");
var count = blogs.SelectMany(b => b.Comments)
.Where(c => c.IsVerified)
.SelectMany(c => c.SubComments)
.Where(sc => sc.IsVerifier)
.Count();
将在经过验证的子评论中获得经过验证的子评论的数量。
因为我没有在初始表达式上使用ToList
,所以应该将它们全部转换为SQL并在服务器上执行(SQL的细节将取决于模型的细节,例如关系是否为是否需要)。