2012-01-26 10 views
0

ObservableCollection<int>プロパティを持つWCFデータサービスを通じてモデルクラスを公開しようとしています。私がそうすると、WCFデータサービスは次のようにスローします。WCFデータサービスとオブザーバブルコレクション<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; } 

に私のプロパティ宣言を変更するには、このベストプラクティスですか?この制限を回避するためだけに新しいエンティティを導入することは、むしろ非効率的で面倒なようです。

答えて

1

これはV2リリースの既知の制限です。私たちは、プリミティブ型または複合型のコレクションであるプロパティを許可するV3 CTPを持っています。ここからダウンロードできます:http://blogs.msdn.com/b/astoriateam/archive/2011/10/13/announcing-wcf-data-services-oct-2011-ctp-for-net-4-and-silverlight-4.aspx

+0

ありがとうございました!私はあなたがスタックオーバーフローを監視していることを感謝します。 –

関連する問題