2012-01-26 60 views
0

我想通過具有ObservableCollection<int>屬性的WCF數據服務公開模型類。當我這樣做時,WCF數據服務拋出:WCF數據服務和ObservableCollection <int>

服務器在處理請求時遇到錯誤。 消息的異常是'MyProject.MyClass'類型的屬性'MyProperty'是 不是有效的屬性。不支持類型爲 原語或複雜類型集合的屬性。'

這似乎是一個相當嚴重的限制。

我能夠通過人工引入一個新的實體包裝來表示int來解決此問題:

[DataContract] 
public class SelectionEntity 
{ 
    [DataMember] 
    public int Id { get; set; } 

    [DataMember] 
    public int Index { get; set; } 
} 

,並改變了我的財產申報

public ObservableCollection<SelectionEntity> MyProperty { get; set; } 

這是最好的做法?爲了規避這種限制,引入一個新的實體似乎相當低效和繁瑣。

回答