2014-02-06 64 views
0

我願做一個OData的查詢,我在布爾列這樣的篩選:如何做一個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'AND IsVisible == 'null'當我通過IsVisible過濾!= false(IsVisible ne'false')?

+2

是否有你不能調用$ filter = IsVisible + eq + true +或+ IsVisible + eq + null的原因? – Schandlich

回答

0

看着你分配給問題的標籤,我會指出這實際上不是布爾邏輯,但是three-valued logic。這些模型的實現必然會對其構造做出任意的選擇,而在OData的情況下,似乎「非虛假的東西必須是真實的」。

我想這是部分原因,因爲更多的人會感到困惑,部分原因是其他實現也是如此。

據我所知,你的用例沒有捷徑(你必須明確地檢查兩個條件)。

相關問題