我使用此代码
var items2 = from item in context.Images
where item.Reported != true
select item;
但是在“报告”列中没有返回空值为什么?
答案 0 :(得分:8)
true
或false
与null
的值不同。如果您需要返回两者,那么您需要将查询更改为:
var items2 = from item in context.Images
where item.Reported != true || item.Reported == null
select item;
答案 1 :(得分:7)
实体框架在将查询转换为SQL时,会生成类似于
的代码select * from images
where reported <> true
在null值上使用的SQL中的任何运算符都返回false(null <> true
),这就是为什么你没有在结果集中获得报告空值的图像。
答案 2 :(得分:1)
您可以尝试使用Object.Equals
获得预期的效果,例如:
var items2 = from item in context.Images
where !Equals(item.Reported, true)
select item;
它应该像您所描述的那样工作,返回false
和null
条目。