Question

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.

Was it helpful?

Solution

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top