最近接手一个项目二开,由于需要用到Sqlserver 的JSON_Value功能,所以升级成EF Core 8.0。但是使用FindAsIQueryable进行集合包含查找的时候报错了。
查看EF view发现生成的Sql不对劲 竟然用的是OPENJSON
最后查了一下国外相关文章发现是EF 8.0 改了生成SQL的包含逻辑。由于使用的sqlserver的版本较低使用不了OPENJSON,所以导致报错。解决方案为使用 EF.Constant
EF.Constant(List
最近接手一个项目二开,由于需要用到Sqlserver 的JSON_Value功能,所以升级成EF Core 8.0。但是使用FindAsIQueryable进行集合包含查找的时候报错了。
查看EF view发现生成的Sql不对劲 竟然用的是OPENJSON
最后查了一下国外相关文章发现是EF 8.0 改了生成SQL的包含逻辑。由于使用的sqlserver的版本较低使用不了OPENJSON,所以导致报错。解决方案为使用 EF.Constant
EF.Constant(List