这是什么问题?

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.

最佳答案

Linq无法将Last()转换为任何有效的sql语句。所以我的建议是orderby decendingTake(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更改为适合您的内容。

关于asp.net - LINQ to Entities无法识别方法'Int32 Last [Int32],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9967990/

10-13 08:17