2014-02-12 91 views
0

我有一個基本實體和一個帶有額外布爾屬性的派生實體。我的WCF數據服務公開基礎實體的EntitySet。我可以在瀏覽器中查詢它:派生類型的WCF DataServiceQuery

http://myserver/myservice/BaseSet/Namespace.Derived()?$filter=(BoolProp eq false) 

而且我得到了我的派生類型的對象的集合。都好。

在我的客戶端中,我有一個接受DataServiceQuery的網格。所以我構造了我的查詢:

var query = context.CreateQuery<Proxy.Derived>("BaseSet"); 

但是,當我嘗試過濾派生屬性時,它返回一個錯誤。當我檢查它在其請求它丟失了我的派生型塊使用的URL,即它看起來像:

http://myserver/myservice/BaseSet()?filter=(BoolProp eq false) 

什麼是構建化DataServiceQuery,我可以使用使用屬性上查詢的正確方法我派生類型?

回答

0

原來所有我需要的是延長entitySetName參數包括我的派生類型:

var query = context.CreateQuery<Proxy.Derived>("BaseSet/Namespace.Derived")(); 

參數的名稱也不是很大。現在我真的很費力地閱讀它的文檔確實告訴我entitySetName應該是「一個解析爲URI的字符串」。不知道這對大多數人有幫助,但我應該早點檢查一下。