自SQLSERVER 2012起新增了 Offset Fetch 語法,因此EFCore默認是以此語法生成相應的分頁語句的。
如果我們的目標數據庫低於 2012,那么EFCore默認生成的語句在執行的時候肯定會報語法錯誤。為了兼容舊版本數據庫,EFCore提供了 Row_Number( ) 分頁方法。
在DB_DZZHContext.cs中修改如下配置,加上紅色標記部分.
注:EF core 3.0已經廢棄了對sql server 2008版本支持,UseRowNumberForPaging()已被刪除
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { if (!optionsBuilder.IsConfigured) { optionsBuilder.UseSqlServer(Common.Utils.Configuration.GetConnectionString("LegalDB"),b=>b.UseRowNumberForPaging()); } }