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

Ric*_*erg 4 .net c# linq lambda entity-framework

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

最奇怪的错误

我做了这个有效的解决方法,但我看不出它应该如何需要 在此输入图像描述

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

任何人都知道为什么?


更新

从这里可以看出我使用的是UseCSharpNullComparisonBehavior = true; 我现在在Azure和SQL Express上都尝试过.

奇怪的是,这是在现场系统上工作,我们已经做了一些发展,但据我所知,这应该影响到这一点.

我还更新了nuget的最新EF.

在此输入图像描述

Ada*_*ley 6

看看这个问题:

如何在实体框架中查询空值?

实质上,它是由Entity Framework将您的lambda表达式转换为SQL引起的.null您输入的显式是触发EF IS NULL在SQL中进行比较

编辑:

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

objectContext.ContextOptions.UseCSharpNullComparisonBehavior = true;
Run Code Online (Sandbox Code Playgroud)