У меня есть тип, который динамически загружается. Переменная часть считывается из поля xml в db. Например.Обеспечение обратной совместимости для динамически загружаемых типов
class SomeClass
{
public int Id {get; set;}
public string Name {get; set;}
public string Url {get; set;}
}
название и URL части являются contructed, читая раздел XML из
<element>
<name>Name</name>
<type>string</type>
</element>
<element>
<name>Url</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;}
}
из
<element>
<name>Name</name>
<type>string</type>
</element>
<element>
<name>Url</name>
< type>string</type>
</element>
<element>
<name>FallbackUrl</name>
<type>string</type>
</element>
Как выглядит обратная совместимость Является ли это продолжением класса, как я могу заверить, что когда более новая версия при развертывании в более старой версии dbs (которая когда-нибудь может быть так) не сработает?
Можете ли вы более четко рассказать о том, что вас беспокоит? Я хорошо знаком с версиями DTO и т. Д., Но ваши намерения не ясны. –
, чтобы обеспечить обратную совместимость, то есть если версия, содержащая расширенные типы, развернута на более раннем db, она не разбивается и функционирует нормально только с меньшим подмножеством или свойствами. – Elena
Вы десериализируете Xml? Или просто чтение Xml и присвоение значений? Для получения наилучших результатов и контроля ознакомьтесь с IXmlSerializable в MSDN. – IAbstract