私は動的にロードされるタイプを持っています。可変部分はdbのxmlフィールドから読み込まれます。例えば。動的にロードされるタイプの後方互換性を保証する
<element>
<name>Name</name>
<type>string</type>
</element>
<element>
<name>Url</name>
< type>string</type>
</element>
<element>
<name>FallbackUrl</name>
<type>string</type>
</element>
から
class SomeClass
{
public int Id {get; set;}
public string Name {get; set;}
public string Url {get; set;}
public string FallbackUrl {get; set;}
}
:
class SomeClass
{
public int Id {get; set;}
public string Name {get; set;}
public string Url {get; set;}
}
名とURLの部分がその後クラスの
<element>
<name>Name</name>
<type>string</type>
</element>
<element>
<name>Url</name>
<type>string</type>
</element>
のXMLセクションを読むことによってcontructedされているが、動的にロードされます
どのように後方互換性がありますか意味を維持していますか?クラスの後半で拡張すると、新しいバージョンが古いバージョンのdbs(いつかそうであるかもしれません)にデプロイされたときにクラッシュすることはありませんか?特に http://www.xfront.com/Versioning.pdf
(抽象):
あなたはあなたが心配しているシナリオについてより明確になりますか?私は、DTOなどのバージョン管理にかなり精通していますが、あなたの意図は明確ではありません。 –
これは、後方互換性を保証するためです。つまり、拡張型を含むバージョンが古いDBにデプロイされている場合、クラッシュせず、より小さいサブセットまたはプロパティでのみ正常に機能します。 – Elena
Xmlをデシリアライズしていますか?あるいは単にXMLを読んで値を割り当てるのですか?最良の結果とコントロールを得るには、MSDNでIXmlSerializableをチェックしてください。 – IAbstract