EFCore中SQLSERVER 2008 的分页问题

自SQLSERVER 2012起新增了 Offset Fetch 语法,因此EFCore默认是以此语法生成相应的分页语句的。

如果我们的目标数据库低于 2012,那么EFCore默认生成的语句在执行的时候肯定会报语法错误。为了兼容旧版本数据库,EFCore提供了 Row_Number( ) 分页方法。

 

所以修改如下配置,让EF Core 使用传统分页。

1 services.AddEntityFramework()
2 .AddDbContext<NFineDbContext>(options =>
3 {
4 options.UseSqlServer(
5 Configuration.GetConnectionString("MDatabase"),
6 b => b.UseRowNumberForPaging()
7 );
8 
9 });

 

关于SQLSERVER 2008与新版本数据库的分页方式差异对比:

https://www.cnblogs.com/WinHEC/p/9247835.html

posted @ 2018-06-30 16:47  X-Cracker  阅读(2097)  评论(2编辑  收藏  举报