图片几乎说明了一切。我有一个null的字符串,我不能让我的用户使用它。但是如果我输入null就可以了。
我做了这个有效的解决方法,但我看不出应该如何使用它
我确实看到了一些关于可以为空的原语和EF 6(我正在使用EF6)的内容,但这是一个字符串。
任何人都知道为什么?
更新
从这里可以看出我使用UseCSharpNullComparisonBehavior = true;
我现在已尝试过Azure和SQL Express。
奇怪的是,这在现场系统上运行,我们已经做了一些开发,但据我所知,这应该影响到这一点。
我也从nuget更新到最新的EF。
答案 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;