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