EntityFrameworkCore 分页问题
2017-05-02 00:00
253 查看
摘要: 就是不写摘要.
top not in 方式 - SQL Server 2005 新增的
ROW_NUMBER() OVER()方式 - SQL Server 2008 新增的
offset fetch next 方式 - SQL Server 2012 新增的
而在
而我使用的 SQL Server 2008 不支持该关键字, 自然就异常.
Use a ROW_NUMBER() in queries instead of OFFSET/FETCH. This method is backwards-compatible to SQL Server 2005.
public virtual void UseRowNumberForPaging();
于是乎,我们指定下 EntityFramworkCore 中使用的分页模式即可.
场景重现
使用 EntityFrameworkCore 连接 SQL Server 2008 执行.Skip().Take()分页查询时出现如下异常:
SqlException: 'OFFSET' 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效。
异常原因
SQL Server 中有几种实现分页的方式,但是有版本限制.top not in 方式 - SQL Server 2005 新增的
ROW_NUMBER() OVER()方式 - SQL Server 2008 新增的
offset fetch next 方式 - SQL Server 2012 新增的
而在
EntityFramworkCore中默认使用的是最新的
offset fetch方式,
而我使用的 SQL Server 2008 不支持该关键字, 自然就异常.
解决办法
这是 EntityFrameworkCore 中的原话.Use a ROW_NUMBER() in queries instead of OFFSET/FETCH. This method is backwards-compatible to SQL Server 2005.
public virtual void UseRowNumberForPaging();
于是乎,我们指定下 EntityFramworkCore 中使用的分页模式即可.
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { optionsBuilder.UserSqlServer("yourConnectionString", options => { options.UseRowNumberForPaging(); }); }
相关文章推荐
- EntityFramework Core并发导致显式插入主键问题
- EntityFramework Core问题处理集锦(一)
- 使用Entity Framework Core需要注意的一个全表查询问题
- EntityFramework Core迁移时出现数据库已存在对象问题解决方案
- Mysql、 VS2010、 Entity Frameworkt和网页四者之间的编码问题
- ADO.NET Entity Framework中自增长列问题 (Identity)
- Mysql、 VS2010、 Entity Frameworkt和网页四者之间的编码问题
- VS2008下使用Linq To Entity的Skip().Take()分页查询时遇到数据结果不对的问题
- ado.net entity framework一个小问题
- MySQL & Entity Framework Code First 数据表大小写的问题
- Asp.Net Ajax+WCF Service+ADO.NET Entity Framework实现数据列表,数据筛选,分页,排序,删除
- ADO.NET Entity Framework 研究过程中遇到的问题
- Entity Framework Code First 遭遇主键自动生成问题
- 解决Entity Framework Code First 的问题——Model compatibility cannot be checked because the database does not contain model metadata
- Entity Framework之问题收集
- EntityFramework SaveChange()方法不能更新的问题
- Ado.net Entity FrameWork的性能问题
- 用代码说废话之--实现ADO.NET Entity Framework 的数据分页
- Entity Framework Code First使用者的福音 --- EF Power Tool使用记之二(问题探究)
- Ado.net Entity FrameWork的性能问题