Linq to Entities查询Nullable数据类型

时间:2010-09-22 11:32:50

标签: c# linq linq-to-entities

我有一个场景,我们正在对数据库中的行进行软删除。我想要包含未删除的行。如何使用LINQ实现它。

from c in context.ASDSet
where (c => c.DeletedFlag.HasValue && !c.DeletedFlag.Value)

但我无法达到结果。

我希望生成的SQL具有以下形式:

select *  from table where IsNull(column, 0) = 0

1 个答案:

答案 0 :(得分:7)

听起来你实际上想要

var query = Context.ASDSet.Where(c => c.DeletedFlag == null || 
                                      c.DeletedFlag.Value == false);

换句话说,包含行,其中flag为null,而当前查询排除标志为null的行。