这是我要做的查询。
var commentActivity = project.ProjectDoc
.Select(c => c.Comment.Select(i => i.UserID))
.Distinct()
.Count();
我想要的是来自特定项目的不同用户的评论数量,但是任何ProjectDoc。这个查询“有效”,结果是错误的。模型就像这样,一般都是草拟的。
Project
ProjectDoc
Comment
更新:我必须更深入一级,根据下面的答案,我尝试了一些不起作用的事情,所以我会发布这个作为参考。请注意两个SelectMany方法。
var replyActivity = project.ProjectDoc
.SelectMany(c => c.Comment.SelectMany(r => r.CommentReply.Select(u => u.UserID)))
.Distinct()
.Count();
答案 0 :(得分:5)
使用SelectMany而不是Select
project.ProjectDoc
.SelectMany(c => c.Comment.Select(i => i.UserID))
.Distinct()
.Count()
答案 1 :(得分:0)
var data = (from con in project.ProjectDoc
select new
{
CommentCount=project.Comment.Count(x=>x.UserID==con.UserID)
}).ToList();
我认为这会对你有帮助。