c# – 如何使用LINQ加载实体的最后一条记录?

前端之家收集整理的这篇文章主要介绍了c# – 如何使用LINQ加载实体的最后一条记录?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想从最后一个记录中获取名为“Gram”的值,并将其值放入一个变量中,而不使用任何条件.

首先我试过

int value = int.Parse(Entity.TblGold.LastOrDefault().Gram.ToString());

第二我试过

int value = int.Parse(Entity.TblGold.Select(p => p.Gram).Last().ToString());

我只收到这个例外:

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

解决方法

LINQ to Entities不支持Last或LastOrDefault.您可以使用ToList或ToArray迭代您的查询,然后应用上一个或您可以通过降序进行排序,然后使用第一个像:
int value = int.Parse(Entity.TblGold
                            .OrderByDescending(p => p.Gram)
                            .Select(r => r.Gram)
                            .First().ToString());

猜你在找的C#相关文章