Подтвердить что ты не робот

Как заказать результат группы в Linq?

У меня есть следующий запрос linq, который отлично работает. Я не уверен, как я заказываю результат группы.

from a in Audits
join u in Users on a.UserId equals u.UserId
group a by a.UserId into g
select new { UserId = g.Key, Score = g.Sum(x => x.Score) }

результаты в настоящее время упорядочиваются по возрастанию UserId. Я поменяю счет.

спасибо:)

4b9b3361

Ответ 1

Просто добавьте предложение orderby; -)

from a in Audits
join u in Users on a.UserId equals u.UserId
group a by a.UserId into g
let score = g.Sum(x => x.Score)
orderby score descending
select new { UserId = g.Key, Score = score };

Ответ 2

var results =
 (from a in Audits
join u in Users on a.UserId equals u.UserId
group a by a.UserId into g
select new { UserId = g.Key, Score = g.Sum(x => x.Score) })
.OrderByDescending(p=>p.Score);

Надеюсь, что это исправит вашу проблему, проще, чем верхняя;)

Приветствия