繁体   English   中英

通过 LINQ 从实体中获取最后 N 个元素

[英]Get Last N Element From Entity by LINQ

我想找到表的最后一个主 ID。 表名:table1 列:Id、name、age

var id = _db.table1.OrderByDescending(x => x.Id).FirstOrDefault().Id

当记录超过 100 000 条记录时,上述查询会导致性能问题。 如何提高性能?

假设 _db.Table1 是可查询的,您可以尝试以下操作:

var id = _db.table1.Max(e => e.Id);

如果性能是一个问题,您可以对数据库发出原始查询:

int id = _db.table1.SqlQuery<int>("SELECT MAX([Id]) FROM dbo.table1").FirstOrDefault<int>();

实体框架原始 SQL 查询: https : //msdn.microsoft.com/en-us/library/jj592907%28v=vs.113%29.aspx

就数据的选择而言,没有比这更快的了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM