自SQLSERVER 2012起新增了 Offset Fetch 語法,所以EFCore默認是以此語法生成相應的分頁語句的。html
若是咱們的目標數據庫低於 2012,那麼EFCore默認生成的語句在執行的時候確定會報語法錯誤。爲了兼容舊版本數據庫,EFCore提供了 Row_Number( ) 分頁方法。數據庫
因此修改以下配置,讓EF Core 使用傳統分頁。spa
1 services.AddEntityFramework() 2 .AddDbContext<NFineDbContext>(options =>
3 { 4 options.UseSqlServer( 5 Configuration.GetConnectionString("MDatabase"), 6 b => b.UseRowNumberForPaging() 7 ); 8
9 });
關於SQLSERVER 2008與新版本數據庫的分頁方式差別對比:code