如何在C#中解决这个错误?

时间:2012-07-10 08:49:23

标签: c# linq c#-4.0 linq-to-entities

使用以下代码时出现错误

var v1 = from P in db1.QuranWordsNews where P.Aye == perId select P;
var vv = v1.LastOrDefault(); // The error occurs here

消息:

  

LINQ to Entities无法识别该方法   “TashihQuran.QuranWordsNew   LastOrDefaultQuranWordsNew”   方法,并且此方法无法转换为商店表达式。

2 个答案:

答案 0 :(得分:45)

也许更好的答案在这里:

var vv = v1.OrderByDescending(rec => rec.Id).FirstOrDefault();

从数据库中获取所有记录,只使用最后一条记录不好。

答案 1 :(得分:36)

我猜你还在IQueriable工作。尝试改为

var vv = v1.ToList().LastOrDefault();

或更优雅

var vv = v1.AsEnumerable().LastOrDefault();