【发布时间】:2014-07-10 02:44:41
【问题描述】:
我在 EF 查询中看到了一个奇怪的行为,我想知道为什么会这样。 使用以下代码,我没有得到任何结果:
if (category.Parent == null)
{
return Db.EventCategories.Where(c => c.Parent == category.Parent);
}
但是使用这段代码,它确实返回了预期的结果:
if (category.Parent == null)
{
return Db.EventCategories.Where(c => c.Parent == null);
}
有什么区别? null 不总是 null 吗?或者当值是可空的(Parent 是 int 类型?)时,EF 是否将它们视为不同的元素。
【问题讨论】:
-
在实际运行查询之前是否修改了
category对象? -
不,我不知道。我认为@a1ex01 是对的,如果你不使用常量 null 它不会生成 IS NULL 查询
-
你检查生成的SQL了吗?
标签: .net entity-framework null