おそらく最も簡単なのは、POCOとSystem.Runtime.Serialization.DataContractAttribute
あなたが含めたいメンバーをSystem.Runtime.Serialization.DataMemberAttribute
ieで飾ることです
[DataContract]
public class MyType
{
[DataMember]
public string Property1 {get; set;}
public string Property2 {get; set;}
public string Property3 {get; set;}
}
Property1
この場合、シリアル化されるのはこの場合のみです。注目に値するのは、両方XmlMediaTypeFormatter
とJsonMediaTypeFormatter
が尊重DataContract
されるため、XML/JSON固有の属性は必要ないということです。
これで、これはより単純なソリューションで機能します。実際の、丸みのあるアプローチでは、モデルをクライアントに公開するのではなく、おそらくDTOに頼る必要があります。
Automapper
そのために使用して、モデルをDTOにプロジェクトすることができます-ここに優れた紹介記事がありますhttp://www.mono-software.com/blog/post/Mono/120/Using-AutoMapper-to-handle-DTOs/。また、Automapperを使用すると、同じベースモデルからさまざまなタイプのDTOを作成できます。これは、私が理解していることですが、興味のあることです。