我想用 LINQ to entity (EF) 创建分页,我找到了 Skip
方法,但它只支持排序的输入,所以我认为它在大量行中会很慢。有没有先排序就可以分页的方法?
最佳答案
对于特定的 SQL 查询,数据库没有义务以相同的顺序返回记录集,而无需声明特定的顺序。
您可以运行相同的查询,但每次运行时前 10 条记录都不同。数据库将根据最适合自己的方式执行此操作(哪些数据缓存在内存中,哪些部分在同一查询的两次执行之前发生了变化等等)。
因此,无论您使用什么 ORM,都必须指定数据的顺序。并确保您有一个正确定义的字段索引,您正在根据该字段排序记录。
关于c# - 使用 LINQ 分页而不排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17023842/