首页 > 数据库 >efcore 连接SqlServer2008R2报错:'OFFSET' 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效

efcore 连接SqlServer2008R2报错:'OFFSET' 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效

时间:2022-10-25 10:56:16浏览次数:65  
标签:providerName 语法错误 SqlServer Microsoft 报错 2008 FETCH

用的是EF Core 6 ,连接SqlServer 2008R2时,生成的分页方法会报错,只需要指定ProviderName时加上版本号就行:Microsoft.EntityFrameworkCore.SqlServer@2008,高于2008版本就按默认就行:providerName:default 或者providerName:Microsoft.EntityFrameworkCore.SqlServer

解决过程:

从AddDbPool一步步跟踪上去,会发现在Microsoft.Extensions.DependencyInjection里面,根据版本2008加了句:dbContextOptionsBuilder.ReplaceService<IQueryTranslationPostprocessorFactory, SqlServer2008QueryTranslationPostprocessorFactory>();

这个SqlServer2008QueryTranslationPostprocessorFactory是国外一个高手改的,已经被微软官方加到Microsoft.Extensions.DependencyInjection里了,不需要单独引用他的包(EntityframeCore.UseRowNumberForPaging)了!

修改后代码如下:

 

 

标签:providerName,语法错误,SqlServer,Microsoft,报错,2008,FETCH
From: https://www.cnblogs.com/ZixYang/p/16824121.html

相关文章