次の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の昇順で並べられています。スコア降順です。
おかげで:)
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 };
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);
これがあなたの問題を解決することを願っています、一番上の問題より簡単です;)
乾杯