计数三级模型

Counting 3 Level Model

我正在尝试计算如何计算从 child 到 child 的所有项目,其中名为 "IsVerified" 的列为真。我计算了前两个 childs (BlogPost -> Comments(child) -> SubComments(child)) 但我不知道如何计算第三个 child

模型结构与此类似 BlogPost -> 评论 -> SubComments -> SubSubComments

我不能给你看真实的模型,所以这里有一个例子:

https://gist.github.com/anonymous/c357bfdd158cc6a392d9

它全部正常工作,而不是第三个 child。

希望你能帮帮我。

谢谢。

类似于:

// 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 的细节将取决于模型的详细信息,例如是否需要关系)。