2014-09-20 92 views
1

我有一個PoC服務類似odata.org's demo service
因此,在他們的演示中,他們有一個Person基類型和Customer和Employee派生類型。OData中的實體繼承

我想要查詢派生類型Employee的所有(或過濾)實例。
由於規範說「實體可以是任何給定時間點上設置的最多一個實體的成員,實體集提供入口點到數據模型中。」
員工的切入點是通過人員實體集,迄今爲止非常好。
但我只是無法找到一種方式來過濾@ odata.type。

我已經試過許多查詢:

/[email protected] eq ODataDemo.Employee
/Persons?$filter=odata.type eq ODataDemo.Employee
/Persons?$filter=type eq ODataDemo.Employee
...
(根是:http://services.odata.org/V4/OData/(S(eq1ncar1ktn55khwjrukic3c))/OData.svc/Persons

但沒有返回200 OK狀態代碼。

回答

2

嘗試爲以下URI:

http://services.odata.org/V4/OData/(S(eq1ncar1ktn55khwjrukic3c))/OData.svc/Persons/ODataDemo.Employee 

的相關規範: Addressing Derived Types

+0

+1你說得對,我讀到它,並試圖在我的演示,並沒有工作,忘了在odata.org演示中使用它。但確實是有效的。但是你知道爲什麼我在演示中嘗試使用404嗎?我沒有什麼特別的。 – gdoron 2014-09-23 09:04:44

+0

@gdoron是否使用web api編寫OData服務? V3或V4? – Maya 2014-09-24 08:34:07

+0

我認爲這個問題可能在我的實體框架代碼第一層。我將在下週再檢查一次,我將再次到辦公室。謝謝! – gdoron 2014-09-24 08:36:49