我在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?或者当EF值为可为空(父类型为int?)时,EF将它们视为不同的元素。
在实际运行查询之前是否修改了'category'对象? – svick
不,我不知道。我认为@ a1ex01是正确的,如果你不使用常量null,它不会生成IS NULL查询 – willvv
你检查了生成的SQL吗? – svick