2010-08-10 4 views
0

Mon application C# doit conserver ses classes de modèle sur disque. Initialement j'ai essayé de faire la sérialisation de xml. Cependant quand je fais des changements de rupture dans mon modèle (scindez une classe en deux) le xml sauvé ne désérialisera pas (ce qui est compris).Comment faire pour conserver le modèle d'application

J'ai pensé à appliquer xslt pour mettre à niveau le xml mais le xml généré est vraiment complexe.

Est-ce une bonne idée de faire une sérialisation xml personnalisée pour avoir un format plus simple? Vaut-il mieux utiliser une base de données? La mise à niveau d'une base de données exécute simplement un script.

+0

Pour les changements de modèle importants, je préfère les itinéraires de «mise à niveau» ponctuels. Bien que certains changements puissent être pris en compte avec les versions de base du modèle (comme l'ajout d'un nouveau champ), d'autres (comme le découpage 1-> 2) ne le peuvent pas. Idéalement, ce genre de choses se passe "en cours de développement" et peut être traité de manière triviale. Vous aurez des problèmes similaires avec l'utilisation d'une base de données - bien que j'encourage l'utilisation de votre base de données (RDBMS) pour ce qu'elle est bonne (relations interrogeables et intégrité relationnelle), et revenez à la sérialisation des objets là où cela est logique (SQL Server a assez bon support XML, donc la ligne est plus floue là-bas). –

Répondre

Questions connexes