我第一次檢出WCF數據服務和OData,我想知道是否在實體模型中使用繼承是不好的做法?它似乎沒有得到很好的支持。WCF數據服務和OData中派生的實體類型
例如,我遇到了OData問題,我想在派生類型的屬性上進行篩選。但似乎只能過濾基類型屬性?
此失敗: HTTP:// [本地主機]:8080 /實體$濾波器= startswith(文字, 'BLA')
在任何情況下,是能夠更好地創建非衍生的實體類型和有接口的「協調」不同實體類型的屬性?
例如:
EntityBase - >標識,的ParentId
筆記本:EntityBase - >標題
注:EntityBase - >文本
或
IEntity - >標識,ParentId
筆記本:IEntity - > ID,的ParentId,標題
注:IEntity - >標識,的ParentId,文字
爲什麼還在不在5.1.0-RC1支持的格式$標籤?
我也注意到LightSwitch似乎不支持域模型中的繼承,所以我不會推薦任何人在他們的模型中使用繼承:http://connect.microsoft.com/VisualStudio/feedback/details/749933/wcf-data-service-odata – 2012-08-11 10:47:01
如果你的客戶端是LightSwitch,那可能是真的。如果你的客戶端將是WCF數據服務,或data.js,或ODataLib,或簡單的JavaScript,我認爲你會很好地使用繼承。 – 2012-08-11 16:06:53
爲了在Data Services中使用繼承,我必須升級到最新版本的庫。我使用的是客戶端庫的5.4版(NuGet),我可以確認繼承可以與該版本兼容。 – 2013-05-02 14:12:47