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.

Était-ce utile?

La 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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top