升级到 .net 8 后使用 ef core 查询遇到错误:microsoft.data.sqlclient.sqlexception (0x80131904): incorrect syntax near '$'. 附近的语法不正确-编程思维
是因为 .net 8 优化了 Contains 子句的 SQL 翻译,之前的 IN 查询有性能问题 但这个优化只有 SQL Server 2016 及以上版本的数据库支持,否则就会报这个错 而且即便数据库引擎版本达到,数据库本身的兼容性设置如果低于 SQL Server 2016 的话,也会报错 解决方案1: 安装 SQL Server 2016 或更高版本的数据库,或者修改数据库本身的兼容性设