用的是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