如何在LLBL中查询可空的布尔记录

本文关键字:布尔 记录 查询 LLBL | 更新日期: 2023-09-27 18:18:08

我遇到了一个棘手的问题。我试图查询一些记录,数据类型是可空布尔值。现在,我想根据它们的值来查询这些记录:true、false、null。我知道如何做真和假,但不知道如何过滤记录为空。有人能帮帮我吗?

下面是代码,System.DBNull.Value不起作用。

filter.AddWithOr(VwFields.Discontinued == false);
filter.AddWithOr(VwFields.Discontinued == true);
filter.AddWithOr(VwFields.Discontinued == System.DBNull.Value); //wrong

如何在LLBL中查询可空的布尔记录

添加额外的括号来计算相等条件:

filter.AddWithOr((VwFields.Discontinued == System.DBNull.Value));

或者使用FieldCompareNullPredicate:

filter.AddWithOr(new FieldCompareNullPredicate(VwFields.Discontinued));