当我使用查询时
var NewMatchs = (from x in entity.matches select x).LastOrDefault();
我得到这样的错误
LINQ to Entities无法识别方法'SocialSports.Models.match LastOrDefaultmatch” 方法,这个方法不能 翻译成商店表达。
我的代码有什么问题???
...谢谢
答案 0 :(得分:8)
LastOrDefault
。您可以使用以下方法实现相同目的:
var lastmatch = (from x in entity.matches select x)
// Assuming you have some kind of timestamp
.OrderByDescending(s => s.Date)
.FirstOrDefault();
答案 1 :(得分:7)
您无法使用LastOrDefault查询EF实体,因为它无法转换为T-SQL。
Linq to Entities并不支持所有LINQ方法。
所有支持/不支持的方法列表:
<强> http://msdn.microsoft.com/en-us/library/bb738550.aspx 强>
你可以尝试
var NewMatchs = (from x in entity.matches select x).ToList().LastOrDefault();
但是这将从db加载所有匹配并执行Linq到对象。
或者尝试排序并调用 FirstOrDefault 。
答案 2 :(得分:1)