2012-07-10 3 views
19

Я получаю сообщение об ошибке при использовании следующего кодаКак решить эту ошибку в C#?

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

Сообщение:

LINQ к Entities не распознает метод 'TashihQuran.QuranWordsNew LastOrDefaultQuranWordsNew' метод, и это метод не может быть переведен в выражение хранилища.

+0

Возможный дубликат [Ошибка, метод не поддерживается LINQ to Entities] (http://stackoverflow.com/questions/2170141/error-method-not-supported-by-linq-to -entities) – sloth

+0

Возможный дубликат из [LINQ To Entities не распознает метод Last. Действительно?] (Http://stackoverflow.com/questions/7293639/linq-to-entities-does-not-recognize-the-method-last-really) –

ответ

36

Я думаю, вы все еще работаете в IQueriable. Попробуйте вместо

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

или, более элегантный

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

Это помогает мне много !!!! –

45

Может быть, лучше ответ здесь:

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

Fetch все записи из базы данных, чтобы использовать только последнюю запись не хорошо.

+1

Согласен с вашим утверждением, но в случае OP, не v1 уже содержит «все записи» из базы данных? – gitsitgo

Смежные вопросы