2014-05-03 18 views
0

我有2个表,如下所示。在LINQ中分组多一列时使用总和

征求意见投票

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

我不能使用和添加点到我的表。任何帮助? 我希望这很清楚。

+0

您的查询找到由特定用户编写的第一条评论。你想要做什么呢? – univerio

+0

我不能每个月都获得最高分数的前10名用户。 – nevra

+0

您正试图通过积分找到前10名用户?什么是观点,它们与投票有什么不同? – univerio

回答

0

首先,你应该从日期时间值中提取mounth,然后按月降序分组,并且取所有coments的总和,并在末尾使用Take(10)。