带有null的字符串如何给出除null之外的其他结果

时间:2015-03-27 18:11:52

标签: c# .net linq entity-framework lambda

图片几乎说明了一切。我有一个null的字符串,我不能让我的用户使用它。但是如果我输入null就可以了。

Weirdest error

我做了这个有效的解决方法,但我看不出应该如何使用它 enter image description here

我确实看到了一些关于可以为空的原语和EF 6(我正在使用EF6)的内容,但这是一个字符串。

任何人都知道为什么?


更新

从这里可以看出我使用UseCSharpNullComparisonBehavior = true; 我现在已尝试过Azure和SQL Express。

奇怪的是,这在现场系统上运行,我们已经做了一些开发,但据我所知,这应该影响到这一点。

我也从nuget更新到最新的EF。

enter image description here

1 个答案:

答案 0 :(得分:6)

看看这个问题:

How can i query for null values in entity framework?

本质上,它是由Entity Framework将您的lambda表达式转换为SQL引起的。您输入的显式null触发EF在SQL

中进行IS NULL比较

编辑:

因为你使用EF 6,如果你设置你的上下文以允许使用空比较,它看起来会起作用,例如:

objectContext.ContextOptions.UseCSharpNullComparisonBehavior = true;