2012-07-24 41 views
0

我正在使用最新的WCF DataServices 5.1rc。我知道派生類型導航屬性應該是固定和支持的。但是,在嘗試使用DeleteLink屬性時遇到以下問題。WCF 5.x從派生類型導航屬性DeleteLink

我有一個繼承自CategoryBase類的Category類。 Category類有一個名爲Attributes的屬性,我試圖從Category類中刪除一個屬性,並得到一個異常「未找到段'Attributes的資源'(基於DataServiceContext的Web服務公開了」public IQueryable Categories「屬性) 。

檢查與小提琴手的請求後,我發現以下請求:

DELETE http://somesite/DataServices/CatalogDataService.svc/CategoryBases('123')/$links/Attributes('23') 

這是自CategoryBases不包含屬性不正確,應該是這樣的:

http://somesite/DataServices/CatalogDataService.svc/CategoryBases('123')/MyNamespace.Data.Catalogs.Category/$links/Attributes('23') 

我查看了WCF的源代碼,發現代碼在EntityDescriptor.cs類中是不可覆蓋的。這仍然是最新的WCF中的問題,還是我做錯了什麼?

我知道我可以將屬性移動到CategoryBase來解決問題,但寧願避免這種情況。

我還附上自己的對象使用以下方法在客戶端上時(當對象被安裝作爲查詢的結果,它工作正常):

client.AttachTo("CategoryBases", category); 
觀看DataServiceContext.Entities時

[0] .ServerTypeName爲空,但是當我從服務DataServiceContext.Entities [0] .ServerTypeName ='MyNamespace.Data.Catalogs.Category'收到類別。

我該如何解決這個問題?

+0

只是說一句我們正在看這個,聽起來像是它可能是一個錯誤。我們即將發佈一個版本 - ish(5.0.2),但我不知道我們是否能夠將此版本納入該版本。 – 2012-07-25 14:59:25

+0

難以重新渲染 - 你能發佈更多的代碼嗎? – 2012-07-25 15:23:56

回答

1

這是WCF 5.1rc中的一個已確認的錯誤。希望它在最終發佈之前得到修復。