2
我想使一個Linq實體查詢工作,但我不知道。EF Linq實體查詢與groupby總和和
這是我的我的SQL查詢這是工作的罰款:
SELECT SUM(ca.PointValue) as Points, ua.UserFBID, MIN(ua.[Date]) as FirstDate
FROM [LeaderOfNow].[dbo].[QuestionAnswer] ca
inner join [LeaderOfNow].[dbo].[LONUserAnswers] ua
on ca.Id = ua.AnswerId
group by ua.UserFBID
order by Points desc, FirstDate asc
一個迄今爲止我最好的嘗試是:
var leaders = db.LONUserAnswers
.GroupBy(a => a.UserFBID)
.Select(a =>
new
{
FBID = a.Key,
CurrentPoints = a.Select(v => v.QuestionAnswer.PointValue).Sum(),
FirstAnswered = a.Min(v => v.Date)
})
.OrderByDescending(a => a.CurrentPoints)
.OrderBy(a => a.FirstAnswered)
.Take(10)
.ToList();
但是呈現SQL亂七八糟的,只有尊重第一階而不是第二,我需要工作。有什麼建議我做錯了什麼?感謝您的幫助。
EF將始終生成大量的SQL。不要擔心。至於訂購的東西,已經得到了答覆。 – tster 2011-01-28 14:44:44