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兼容

相关推荐
李树健1239 小时前
.NET 10 & C# 14 New Features 新增功能介绍-ASP.NET Core
c#·asp.net·.net
无风听海10 小时前
.NET10之ASP.NET Core控制器构造函数选择规则深度解析
后端·asp.net·.net
linux修理工10 小时前
飞书机器人权限批量导入
服务器·数据库·asp.net
彧翎Pro2 天前
ASP.NET Core 外部依赖调用治理实战:HttpClientFactory、Polly 与幂等边界
microsoft·asp.net·php
APguantou3 天前
NCRE-三级数据库技术-第9章-安全管理
数据库·安全·sqlserver
2301_771717213 天前
微服务架构:多模块之间通信OpenFeign
微服务·架构·asp.net
csdn_aspnet3 天前
在 ASP.NET Core 中使用自定义属性实现 HTTP 请求和响应加密
http·asp.net·.netcore
喵叔哟4 天前
3.【.NET10 实战--孢子记账--产品智能化】--.NET 10 核心新特性概览:运行时与 ASP.NET Core 10
云计算·asp.net·.net
wenzhangli74 天前
OoderAgent 能力架构:基于 Workflow 控制理论的能力安装管理
后端·架构·asp.net
峥嵘life4 天前
Android 13 Miracast 投屏代码适配总结
android·后端·asp.net