我想做一个Odata查询,我在这里过滤一个布尔列:
示例:
IsVisible != true (or IsVisible != false).
现在我知道在Odata中,这将是“IsVisible ne'true'”。 如果IsVisible恰好为null,那么这个“ne true”不会返回IsVisible的空值(这就是我想要的)。相反,它只返回IsVisible == true的值。
我知道我可以通过这样的方式得到我想要的记录:
IsVisible == null (IsVisible eq 'null').
问题是:
如何让Odata返回IsVisible =='true'和IsVisible == 当我按IsVisible过滤时'null'!= false(IsVisible ne'false')?
答案 0 :(得分:0)
查看您分配给问题的标记,我会指出这实际上不是布尔逻辑,而是three-valued logic。这些模型的实现必然会对其构造做出任意选择,而在OData的情况下,似乎“不是假的东西必须是真的”。
我认为这部分原因是因为更多的人会感到困惑,部分原因是因为大多数其他实现也是如此。
据我所知,您的用例没有快捷方式(您必须明确检查这两个条件)。