你能解释一下为什么LastOrDefault在FirstOrDefault没有任何问题的情况下无法正常工作的原因。看来这两种方法并不相同:
从LinqPad开始他的例子:
var varone = Guid.Parse("bbb3d139-fbec-430c-9574-02f3412c95df");
Price.Where(y => y.Id == varone && y.ApplicationDate.Value <= new DateTime(2016,06,01))
.OrderByDescending(y => y.ApplicationDate.Value)
.LastOrDefault().Dump();
我得到了
NotSupportedException:LINQ to Entities无法识别该方法 &#39; Nppg.Core.BusinessModels.BeperEntities.Price LastOrDefaultPrice&#39; 方法,并且此方法无法转换为商店表达式。
但是如果我用FirstOrDefault
替换LastOrDefault没问题 var varone = Guid.Parse("bbb3d139-fbec-430c-9574-02f3412c95df");
Price.Where(y => y.Id == varone && y.ApplicationDate.Value <= new DateTime(2016,06,01))
.OrderByDescending(y => y.ApplicationDate.Value)
.FirstOrDefault().Dump();