I have 2 tables like below.

For comments to vote

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 

For users that take point values

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

I should find 10 users that most taken votes each month in all comments. Firstly I try to write LINQ like that;

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

I can't use sum and add points to my table. Any helps? I hope it's clear.

有帮助吗?

解决方案

First you should extract mounth from datetime value, then group by month descending and also take sum of all coments and use Take(10) at the end.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top