ASPNETCORE MVC 5 使用坑点记录

1、EFCORE 5.0 对SQL Server 2008 R2 兼容问题

  据说从某版本开始EF对SQL Server 2008 R2的兼容性不好了,具体应该是想强制让大家买最新的SQL SERVER 2012及以上版本,功能受限,简单的查询使用是没问题的,当开始制作分页查询的时候问题来了。

代码 

var list = db.sys_user.Take(limit).Skip((page-1) * limit).ToList();

EF会报错【System.Data.SqlClient.SqlException: ‘OFFSET’ 附近有语法错误】,在老版本中使用通过配置以下代码解决,但是在EFCORE5中,API已经被移除。

services.AddDbContext(options => options.UseSqlServer(connection,b=>b.UseRowNumberForPaging()));

经过查阅发现了以下方案,使用nuget 搜索安装 【EfCore.SqlServer2008Query】包,然后添加配置代码。目前功能使用正常,还未发现问题。

optionsBuilder.ReplaceService<IQueryTranslationPostprocessorFactory, SqlServer2008QueryTranslationPostprocessorFactory>();
上一篇:ceshi


下一篇:Zabbix多台主机相同监控项求和