【发布时间】:2014-04-03 17:09:21
【问题描述】:
我想用 LINQ to entity (EF) 创建分页,我找到了Skip 方法,但它只支持排序输入,所以我认为它在大量行中会很慢。有什么方法可以在不先排序的情况下进行分页吗?
【问题讨论】:
-
Skip可以与任何IEnumerable<T>一起使用。您是否使用某种将 Linq 查询转换为 SQL 的 ORM? -
@p.s.w.g 是的,我忘了把它添加到标签中
-
如果您有PK,请按此排序。通常底层的 RDBMS 可以有效地做到这一点。
-
不幸的是,您必须对其进行排序 :( 如果在没有
OrderBy的情况下在 EF 中使用Skip方法,您将得到下一个异常:The method 'Skip' is only supported for sorted input in LINQ to Entities. The method 'OrderBy' must be called before the method 'Skip'
标签: c# .net linq entity-framework