1、事故现场:

在项目中使用.net core 3.0,在EF链接sqlserver2008,在程序中使用了分页用的skip和take,程序报错:

在 FETCH 语句中选项 NEXT 的用法无效。

2、分析及解决方案:

因为分页skip和take转成sql的时候默认是使用FETCHNEXT的,而不是可兼容低版本sqlserver的ROWNUMBER(),所以报错;

在之前的.net core 版本中,可以通过重写OnConfiguring,配置UseRowNumberForPaging即可,代码如下:

        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
if (!optionsBuilder.IsConfigured)
{
optionsBuilder.UseSqlServer(Config.Instance.GetConnctionString("SqlServer"), options =>
{
options.UseRowNumberForPaging();
});
}
}

但是,在.net core 3.0中改写法已经不起作用;

经过一番查询,发现UseRowNumberForPaging has been removed in 3.0

参考链接:添加链接描述



解决方案:只能升级sqlserver到2012及以上;


【.net core 入坑】.net core 3.0 报错:在 FETCH 语句中选项 NEXT 的用法无效的更多相关文章

  1. .ner core InvalidOperationException: Cannot find compilation library location for package 'xxx' 和 SqlException: 'OFFSET' 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效。问题

    原文地址:传送门 1.InvalidOperationException: Cannot find compilation library location for package 'xxx'问题: ...

  2. 运行ABP(asp.net core 3.X+Vue)提示'OFFSET' 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效。

    创建ASP.NET Boilerplate,还原数据库和启动客户端 这里就略过,具体参考 ABP框架(asp.net core 2.X+Vue)模板项目学习之路(一) ASP.NET Boilerpl ...

  3. [转]happybase1.0 报错:ThriftPy does not support generating module with path in protocol 'f'

    happybase1.0 报错:ThriftPy does not support generating module with path in protocol 'f' 2016-10-12 14: ...

  4. jQuery3.0+报错Uncaught TypeError: e.indexOf is not a function

    jQuery3.0+报错Uncaught TypeError: e.indexOf is not a function 使用.load()绑定事件时报错,Uncaught TypeError: e.i ...

  5. MySQL8.0报错Can't connect to MySQL server on 'localhost' (10061)的解决办法

    MySQL8.0报错Can't connect to MySQL server on 'localhost' (10061)的解决办法 事情的起因     今天课堂上要展示小组项目,需要用一个软件叫W ...

  6. 【Solr】新建core后,启动服务访问web报错 HTTP Status 503

    新建core collection2后,启动solr服务,访问solr web界面报错. HTTP Status 503 - Server is shutting down or failed to ...

  7. Python踩坑系列之安装pycrypto报错:“Microsoft Visual C++14.0 is required”问题。

    由于要使用Python3实现des3加密要使用pycrypto模块,所以使用pip install pycrypto 来安装,然后就常规性掉坑.安装报错“Microsoft Visual C++14. ...

  8. django2.0报错Cannot import name 'urlresolvers'

    刚刚从django1.1迁移到django2.0中出现一个意外的报错: google 了下,在stack.overflow上解释是说django2.0 把原来的 django.core.urlreso ...

  9. Python 装饰器填坑指南 | 最常见的报错信息、原因和解决方案

    本文为霍格沃兹测试学院学员学习笔记. Python 装饰器简介 装饰器(Decorator)是 Python 非常实用的一个语法糖功能.装饰器本质是一种返回值也是函数的函数,可以称之为“函数的函数”. ...

随机推荐

  1. python的遗传算法--Hello World入门篇

    本系列文章代码取材于书籍<Genetic Algorithms with Python>,本人是在校电气专业的研究生,立志从事于Python相关的代码工作,具体什么方向还有待深究. 众所周 ...

  2. apache虚拟主机配置的3种方式

    Apache的虚拟主机功能 (Virtual Host) 是可以让一台服务器基于IP.主机名或端口号实现提供多个网站服务的技术. 下面我介绍一下这3种方式具体的配置流程: 一.基于ip地址 首先我们需 ...

  3. 第三章 学习Shader所需的数学基础(4)

    法线变换 法线(normal),也被称为法矢量(normal vector).在以前我们已经讲过如何使用变换矩阵来变换一个顶点或方向矢量,但法线是需要我们特殊处理的一种方向矢量.在游戏中,模型的顶点往 ...

  4. Shell入门01-bash Shell特性

    命令和文件自动补齐 [root@hadoop04 ~]# yum -y install bash-completion 命令历史记忆功能 1.上下键 查看历史命令 2.!number 执行histor ...

  5. 最小生成树——Kruskal与Prim算法

    最小生成树——Kruskal与Prim算法 序: 首先: 啥是最小生成树??? 咳咳... 如图: 在一个有n个点的无向连通图中,选取n-1条边使得这个图变成一棵树.这就叫“生成树”.(如下图) 每个 ...

  6. 接口访问报错:The valid characters are defined in RFC 7230 and RFC 3986

    写了个接口,在测试访问的时候,需要传json串,但是后台报错了 The valid characters are defined in RFC 7230 and RFC 3986 当前使用的tomca ...

  7. set容器

    set容器简介: 1) set是一个集合容器,其中所包含的元素是唯一的,集合中的元素按一定的顺序排列.元素插入过程是按排序规则插入,所以不能指定插入位置. 2) set采用红黑树变体的数据结构实现,红 ...

  8. 记录我的 python 学习历程-Day03 列表/元组/rang

    一.列表初识 列表是 Python 的基础数据类型之一,它是以''[ ]''的形式括起来的,每个元素用","隔开,属于容器型数据类型,他可以存放大量的.各种类型的数据. 基本格式 ...

  9. 2019CCPC秦皇岛D题 Decimal

    Decimal Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total S ...

  10. ubuntu文件权限

    以root身份登录linux. 在某一目录下执行 ls -al,显示类似如下内容: dr-xr-x---. 14 root root 4096 Aug 27 09:38 . dr-xr-xr-x. 2 ...