3
請不要給我一個完整的工作示例,我想知道如何做到這一點,而不是讓一些代碼,我可以複製粘貼我該如何做到這一點在LINQ查詢中聚合,分組,
這是我需要的查詢,並不能爲生命我在LINQ中創建它。
SELECT * FROM
dbo.Schedules s, dbo.Videos v
WHERE s.VideoID = v.ID
AND s.ID IN
(
SELECT MAX(ID) FROM dbo.Schedules
WHERE ChannelID = 1
GROUP BY VideoID
)
ORDER BY v.Rating DESC, s.StartTime DESC
我在LINQ的「IN」的查詢我認爲,這是像這樣
var uniqueList = from schedule in db.Schedules
where schedule.ChannelID == channelID
group schedule by schedule.VideoID into s
select new
{
id = s.Max(i => i.ID)
};
它可能是錯的,但現在我不能在另一個查詢檢查這在where子句中uniqueList.Contains(schedule.ID)
可能有更好的方法來寫這個查詢,如果你有任何想法,我會喜歡一些提示。
我得到這個錯誤,它沒有太大的意義。
方法'System.Linq.Queryable.Contains(System.Linq.IQueryable,TSource)'的類型參數不能從用法中推斷出來。嘗試明確指定類型參數。
這似乎已經完成了技巧,謝謝你的提示。 – 2010-05-13 22:14:56
你可以做得更簡單一點:'.Any(sInner => s.ID == sInner.ID)' – 2010-05-13 22:21:24