c# - 使用 LINQ 分页而不排序

标签 c# .net linq entity-framework

我想用 LINQ to entity (EF) 创建分页,我找到了 Skip 方法,但它只支持排序的输入,所以我认为它在大量行中会很慢。有没有先排序就可以分页的方法?

最佳答案

对于特定的 SQL 查询,数据库没有义务以相同的顺序返回记录集,而无需声明特定的顺序。

您可以运行相同的查询,但每次运行时前 10 条记录都不同。数据库将根据最适合自己的方式执行此操作(哪些数据缓存在内存中,哪些部分在同一查询的两次执行之前发生了变化等等)。

因此,无论您使用什么 ORM,都必须指定数据的顺序。并确保您有一个正确定义的字段索引,您正在根据该字段排序记录。

关于c# - 使用 LINQ 分页而不排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17023842/

相关文章:

c# - 如何将 Lucene.NET RangeQuery 转换为 NumericRangeQuery 以进行日期范围搜索?

c# - 读取新闻文章实际内容并忽略页面上的 "noise"的算法?

c# - 匿名类型名称冲突

c# - 使 IIS 开始通过 Owin 管道响应请求的过程是什么?

c# - 我可以直接添加一个整数列表而不循环遍历它吗?

c# - 在 Global.asax 的 Application_Start 方法中访问缓存时出错

c# - 使用 LINQ 干净地处理嵌套 XML 的更好方法

c# - 申请路径

c# - LINQ GroupBy 并选择不同的属性

c# - 比较列表的两个日期属性