我試圖從這個Linq查詢得到的是所有廣告的列表,其中LogType.IsStatus == true
的最新關聯日誌的LogType.Name
的Confirmed或Renewed。要清楚,廣告有許多日誌,每個日誌有一個LogType。到目前爲止,我有以下內容,但它給我一個LastOrDefault上的錯誤System.NotSupportedException。Linq的子查詢與讓
var adverts = (from a in database.Adverts
let lastLog = (from l in a.Logs
where l.LogType.IsStatus == true
orderby l.Created_at
select l).LastOrDefault()
where (lastLog != null)
&&
(lastLog.LogType.Name == "Confirmed" || lastLog.LogType.Name == "Renewed")
orderby a.Created_at descending
select a).ToList();
查詢似乎要處理,但我似乎得到一個System.NotSupportedException:指定的方法是不是跟這個支持,當我通過廣告在我看來,來循環:@ foreach(模型中的var item)。我錯過了一些簡單的東西嗎 – Jay 2011-03-14 14:08:05
它是否說不支持哪種方法?你在'foreach(模型中的var item)'中迭代的'Model'集合是什麼? – 2011-03-14 14:13:21
我有廣告上的強類型視圖。如果我刪除查詢的ToList()部分,則會在foreach行上掛起異常,否則它會在查詢本身上發生。 – Jay 2011-03-14 14:20:09