ef8解决sql2008R2不支持fetch命令问题:optionsBuilder.UseSqlServer(sConn, options => options.UseRowNumberForPaging())
netcore er8.
sql2012支持fetch命令,sql2008r2不支持fetch命令,调用ef的skip(100).take(10)时,会报错:
ERROR [.NET TP Worker] (D:\Design\CSharp\海宏发票查重报销管理\iPublic\公共\BaseApiController.cs:114) - 资料维护.Pages.CommBase.FaPiaoTypeApiController.query: :'OFFSET' 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效。 Microsoft.Data.SqlClient.SqlException (0x80131904): 'OFFSET' 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效。
ef3之后默认是sql2012了,不支持sql2008了,ef8解决办法:
using EntityFrameworkCore.UseRowNumberForPaging; protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { optionsBuilder.UseSqlServer(sConn, options => options.UseRowNumberForPaging()); }
参考:
EF7 (RC1) - Cannot Skip() and Take() in SQL Server 2008 · Issue #4616 · dotnet/efcore (github.com)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2019-10-15 极光推送客户端vs2015版,官方vs2017版本的jpush-api-csharp-client-master转来的