さて、ここでは何もありません。サービスのバージョン管理とデータ コントラクトのバージョン管理に関するベスト プラクティス ( http://msdn.microsoft.com/en-us/library/ms733832.aspx ) を読んだ後、すべてがどのように行われたかをほぼ理解しました。データ コントラクトにアジャイル バージョニングを使用する予定ですが、WorkRequestV2 を作成して新しいプロパティを追加するか、単に新しいプロパティを WorkRequestV1 に追加するかの違いやより良い方法がわかりません。今、私は両方の方法を試してみましたが、うまくいきましたが、WorkRequestV2 を作成するときに、WorkRequestV1 にプロパティを追加するだけでなく、WorkRequestV2 を使用するように ServiceContractor を変更する必要があります。違いはなんですか?
私が見た例はここにありました ( http://msdn.microsoft.com/en-us/library/ms731138.aspx ) CarV1 と CarV2 は、HorsePower を CarV1 に追加し、まったく新しいコントラクトを作成する必要はありません。
[DataContract(Name = "WorkRequest")]
public class WorkRequestV1 : IExtensibleDataObject {
[DataMember(Name = "workrequest",Order=1,IsRequired=true)]
public int workrequest { get; set; }
[DataMember(Name = "CQ")]
public string CrewHeadquarter { get; set; }
[DataMember(Name = "JobCode")]
public string JobCode { get; set; }
[DataMember(Name = "JobType")]
public string JobType { get; set; }
[DataMember(Name = "Latitude")]
public string Latitude { get; set; }
[DataMember(Name = "Longitute")]
public string Longitute { get; set; }
private ExtensionDataObject theData;
public ExtensionDataObject ExtensionData {
get {
return theData;
}
set {
theData = value;
}
}
}