EFcore8和Sql Server 2014冲突

项目升级到EFCore8之后,所有的Contains方法都报错

报错的linq语句示例:

cs 复制代码
_db.SysModules.Where(x => moduleIds.Contains(x.Id)).AsNoTracking().ToListAsync()

用log4net记录的报错内容如下

ERROR 关键字 'WITH' 附近有语法错误。 关键字 'with' 附近有语法错误。如果此语句是公用表表达式、xmlnamespaces 子句或者更改跟踪上下文子句,那么前一个语句必须以分号结尾。

这是因为EFCore版本太高,SqlServer版本太低。

解决方法:

1、升级SqlServer

2、在DbContext配置项加上以下代码

cs 复制代码
optionsBuilder.LogTo(Console.WriteLine, LogLevel.Information).UseSqlServer(sqlStr, o => o.UseCompatibilityLevel(120)); 

其中最关键的是o => o.UseCompatibilityLevel(120)

可以让EFCore和低版本SqlServer兼容

相关推荐
测试修炼手册10 小时前
[测试技术] JUnit 6 入门与实战:断言、参数化与 Mockito
数据库·junit·sqlserver
心之语歌16 小时前
SQL Server 按月分区实战:动态边界自动生成方案
sqlserver
o52788318417 小时前
校园一体化管理系统2.1、基于整洁四层架构 + DDD+CQRS 项目目录解读
后端·架构·c#·asp.net·visual studio
不羁的木木3 天前
HarmonyOS技术精讲-Connectivity Kit:Wi-Fi进阶能力——热点、P2P与Aware
asp.net·harmonyos·p2p
bosins5 天前
部署SSIS并增加SQL Server代理作业,任务正常执行但事件查看器一直报DCOM权限问题
sqlserver·ssis·权限·dcom·事件查看器
xuefuhe5 天前
SQL Server sp_replmonitorsubscriptionpendingcmds
sqlserver
时代的狂6 天前
ASP.NET Core 认证与授权(二):登录与令牌签发
后端·asp.net·.net core·web api·认证与授权
她说彩礼65万6 天前
Asp.net core 模型绑定
后端·asp.net
时代的狂6 天前
如何理解 ASP.NET Core 请求生命周期
asp.net·请求生命周期
时代的狂6 天前
ASP.NET Core 认证与授权(三):请求认证与权限校验
asp.net·.net core·web api·认证与授权