4

这是我想要做的查询。

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();
4

2 回答 2

5

使用 SelectMany 而不是 Select

project.ProjectDoc
        .SelectMany(c => c.Comment.Select(i => i.UserID))
        .Distinct()
        .Count()
于 2013-01-09T05:52:47.083 回答
0
 var data =   (from con in project.ProjectDoc
               select new 
              {
                 CommentCount=project.Comment.Count(x=>x.UserID==con.UserID)

              }).ToList();

我想这会对你有所帮助。

于 2013-01-09T06:01:51.157 回答