LINQ to Entities не распознает метод 'Int32 Last [Int32] - PullRequest
2 голосов
/ 02 апреля 2012

в чем проблема с этим?

int folderid = (from p in db.folder where p.isDefault == true select p.id).Last();

я получаю эту ошибку

   LINQ to Entities does not recognize the method 'Int32 Last[Int32]
    (System.Linq.IQueryable`1[System.Int32])' method, and this method cannot be 
translated into a store expression.

1 Ответ

6 голосов
/ 02 апреля 2012

Linq не может перевести Last() в любой действительный SQL-статус. Так что мое предложение было бы orderby decending и Take(1)

Может быть, что-то вроде этого:

int? folderid =(
        from p in db.folder 
        where p.isDefault == true 
        orderby p.id descending
        select p.id
    ).Take(1).SingleOrDefault();

Я не знаю, что взять, поэтому вам, возможно, придется заменить orderby p.id descending на что-то, что вас устраивает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...