EFCore中SQLSERVER 的分页问题

自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());
            }
        }

 

posted @ 2019-10-31 11:41  万万万W  阅读(1364)  评论(3编辑  收藏  举报