在LINQ中再分组一列时使用sum

时间:2014-05-03 22:30:05

标签: asp.net-mvc linq group-by sum grouping

我有2张如下表。

投票评论

VoteId      VoteValue  UserId CommentId DateAdded
1              1          1      1      10/11/2013 
2              1          5      1      10/14/2013
3              1          9      2      09/08/2013
4              1          11     3      01/03/2014 

对于获取点值的用户

PointId      Date        PointValue UserId
 1        10/11/2013      1         1     
 2        10/14/2013      1         5
 3        09/08/2013      1         9
 4        01/03/2014      1         11

我应该在所有评论中找到10个用户,每月最多可以获得投票。首先,我尝试像这样编写LINQ;

    var object = (db.Comments.
Where(c => c.ApplicationUser.Id == comment.ApplicationUser.Id).
FirstOrDefault()).ToList();

我不能使用sum并在我的表中添加点数。有帮助吗? 我希望它很清楚。

1 个答案:

答案 0 :(得分:0)

首先,您应该从datetime值中提取月份,然后逐月递减,并且还要获取所有注释的总和,并在结尾处使用Take(10)。