Net Core:'OFFSET' 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效
报错语句
return lr.Skip(@in.Skip).Take(@in.PageSize).ToList();
报错:
"'OFFSET' 附近有语法错误。在 FETCH 语句中选项 NEXT 的用法无效。"
原因
这个主要是在数据库SQL Server 2008不支持Fetch和Next语句(SQL Server 2012才支持)。
可以这么理解,我们需要解决的问题是向下兼容数据库。
解决方法
找到数据库连接,语句,添加RowNumberForPaging配置。
原代码
options.UseSqlServer(connection)
修改后代码
options.UseSqlServer(connection,b=>b.UseRowNumberForPaging())
参考网址
https://www.cnblogs.com/yhdkzy/p/7919426.html
有志者,事竟成,破釜沉舟,百二秦关终属楚; 苦心人,天不负,卧薪尝胆,三千越甲可吞吴。