我可以对单个查询使用 UseCSharpNullComparisonBehavior 吗?

本文关键字:UseCSharpNullComparisonBehavior 单个 查询 我可以 | 更新日期: 2023-09-27 18:30:16

我有一个查询,它曾经是一个存储过程,后来被转换为 EF 查询。现在超时了。使用 SQL 事件探查器,我可以看到生成的 SQL 的唯一区别是 EF 将entity.Property == value转换为(entity.Property = @value OR (@value IS NULL AND entity.Property IS NULL))的新行为。

我知道我可以通过设置UseCSharpNullComparisonBehavior = false来关闭整个上下文,但我真的只想为这一个查询执行此操作。这可能吗?

或者,有没有办法编写 EF 查询,使其不会像这样生成 SQL?

我可以对单个查询使用 UseCSharpNullComparisonBehavior 吗?

您可以将上下文的 UseDatabaseNullSemantics 属性设置为 true 。这基本上与旧的ObjectContext.UseCSharpNullComparisonBehavior属性相反。

context.Configuration.UseDatabaseNullSemantics = true;
相关文章:
  • 没有找到相关文章