我有一个查询,该查询曾经是存储过程,现已转换为 EF 查询。现在已经超时了。使用 SQL Profiler,我可以看到生成的 SQL 的唯一区别是 EF 转变的新行为entity.Property == value
into (entity.Property = @value OR (@value IS NULL AND entity.Property IS NULL))
.
我知道我可以通过设置来关闭整个上下文UseCSharpNullComparisonBehavior = false
,但我真的只想为这一个查询执行此操作。那可能吗?
或者,有没有办法编写 EF 查询,使其不会生成这样的 SQL?
您可以设置UseDatabaseNullSemantics
你的上下文的属性true
。这本质上是旧的相反ObjectContext.UseCSharpNullComparisonBehavior
财产。
context.Configuration.UseDatabaseNullSemantics = true;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)