devo dati che sono stati memorizzati utilizzando la serializzazione binaria per la seguente classe:Come deserializzare i vecchi dati per un tipo che è cambiato?
[Serializable]
public abstract class BaseBusinessObject
{
private NameValueCollection _fieldErrors = new NameValueCollection();
protected virtual NameValueCollection FieldErrors
{
get { return _fieldErrors; }
set { _fieldErrors = value; }
}
...
}
Ad un certo punto, la classe è stato cambiato a questo:
[Serializable]
public abstract class BaseBusinessObject
{
private Dictionary<string, string> _fieldErrors = new Dictionary<string, string>();
protected virtual Dictionary<string, string> FieldErrors
{
get { return _fieldErrors; }
set { _fieldErrors = value; }
}
...
}
questo sta causando problemi di deserializzazione vecchi dati.
Il mio primo pensiero è stato quello di implementare ISerializable
, ma questa classe ha numerose proprietà e centinaia di classi ereditarie che avrei dovuto implementare anche per questo.
Vorrei cambiare i vecchi dati per adattarli alla struttura corrente durante la deserializzazione o avere un modo pulito per aggiornare i vecchi dati.
Questo ha fornito l'approccio più realistico per le mie esigenze, ma ho finito per percorrere una strada diversa. – ramnik