2
如何使用exptension方法創建此表達式,但(!)不使用匿名類型?LINQ查詢表達式和擴展方法
from p in posts
join u in context.oxite_Users on p.CreatorUserID equals u.UserID
join pa in context.oxite_PostAreaRelationships on p.PostID equals pa.PostID
join a in context.oxite_Areas on pa.AreaID equals a.AreaID
let c = getCommentsQuery(p.PostID)
let t = getTagsQuery(p.PostID)
let tb = getTrackbacksQuery(p.PostID)
let f = getFilesQuery(p.PostID)
where p.State != (byte)EntityState.Removed
orderby p.PublishedDate descending
select new Post
{ area = a, comments = c } e.t.c.
出於好奇 - *爲什麼*你想這樣做,而不是一種類型?匿名類型是LINQ語法解構的內部實現細節......這是因爲它們讓生活變得更簡單。 – 2010-08-25 11:16:37
ADO.NET實體框架和數據提供程序System.Data.SQLite不適用於查詢表達式和匿名類型。他們甚至不使用lambda運算符。=>,所以你必須編寫所有的擴展方法(使用委託)。它變成了很多代碼,但它的工作原理。 :-) 謝謝回覆! – 2010-08-25 16:06:33