2014-12-22 59 views
0

我有一個集合,我正在使用OData語法來查詢。我查詢的每個文檔如下所示:IN等於odata的SQL等效

{ 
    id:1, 
    name:'test 1', 
    storeId: 1 
} 

每個文檔都可以屬於100個商店之一。我需要獲取屬於指定商店集合的文檔。在SQL中,我會做這樣的事情:

SELECT 
    * 
FROM 
    [Document] d 
WHERE 
    d.[storeId] IN (5, 22, 31, 19, 75) 

我覺得跟OData的,我需要做的是這樣的:

http://services.odata.org/V4/MyService/Documents?$format=application/json;odata.metadata=full&$filter=storeId [something goes here] 

我不知道要放什麼東西在[something goes here]

回答

1

恐怕目前ODATA並沒有與SQL IN並行的功能。 (https://issues.oasis-open.org/browse/ODATA-556)。您可能需要這樣做:

$filter=(storeID eq 5) or (storeID eq 22) or (storeID eq 31) or (storeID eq 19) or (storeID eq 75) 

您可能可以遍歷數組以形成ODATA查詢。

希望這可以幫助你。