Pregunta

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.

¿Fue útil?

Solución

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top