我试图从这个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