我有一个场景,我们正在对数据库中的行进行软删除。我想要包含未删除的行。如何使用LINQ实现它。
说
from c in context.ASDSet
where (c => c.DeletedFlag.HasValue && !c.DeletedFlag.Value)
但我无法达到结果。
我希望生成的SQL具有以下形式:
select * from table where IsNull(column, 0) = 0
答案 0 :(得分:7)
听起来你实际上想要:
var query = Context.ASDSet.Where(c => c.DeletedFlag == null ||
c.DeletedFlag.Value == false);
换句话说,包含行,其中flag为null,而当前查询排除标志为null的行。