2014-05-03 21 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)。