我正在尝试将以下SQL行转换为LINQ代码:
AND IsNull(Deleted,0) = 0
我试过这样做:
&& Deleted != null ? Deleted : false
而且:
&& (bool)Deleted != null ? (bool)Deleted : false
第一次尝试给了我一个错误,因为Deleted是一个可空类型,第二次尝试不会返回与原始SQL相同的数据集。谁能告诉我我做错了什么?
答案 0 :(得分:1)
您可以使用
&安培;&安培; Deleted.GetValueOrDefault(false)== false
答案 1 :(得分:1)
LINQ;
where !(u.Deleted ?? false)
sql输出:
WHERE(CASE WHEN([Extent1]。[Deleted] IS NULL)THEN cast(0 as bit)ELSE [Extent1]。[Deleted] END)<>演员(1位)