如何使用LINQ从实体加载最后一条记录?

ami*_*min 14 c# linq asp.net entity datamodel

我想从最后一条记录中获取名为"Gram"的字段的值,并将其值放入变量中,而不使用任何条件.

首先我试过了

int value = int.Parse(Entity.TblGold.LastOrDefault().Gram.ToString());
Run Code Online (Sandbox Code Playgroud)

我试过第二次

int value = int.Parse(Entity.TblGold.Select(p => p.Gram).Last().ToString());
Run Code Online (Sandbox Code Playgroud)

我刚收到这个例外:

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.

Hab*_*bib 37

LastLastOrDefaultLINQ to Entities不支持或不支持.您可以使用ToListToArray然后应用迭代您的查询,Last或者您可以通过降序排序,然后使用First类似的:

int value = int.Parse(Entity.TblGold
                            .OrderByDescending(p => p.Gram)
                            .Select(r => r.Gram)
                            .First().ToString());
Run Code Online (Sandbox Code Playgroud)