我的应用程序包含一组模型类。例如人员,部门...持久化类的最佳实践模型
用户在UI中更改这些类的实例的值,并将这些类保存到我的“项目”文件中。下次用户可以打开和编辑项目。
我的产品的下一个版本可能会大幅改变模型类别。它仍然需要打开现有的项目文件(我会知道如何处理缺失的数据)。
如何最好将我的模型类保存到项目文件中?
坚持类最简单的方法是数据协定序列化。然而,它会在突破变化时失败(我希望有这样的变化)。如何处理这个?
- 使用一些其他持久性,例如,名称 - 值集合或db更容忍
- 发运一个“项目转换器”应用程序来迁移旧项目。这需要新旧模式一起出货或操纵xml,这是最好的?
我有一个非常复杂的类层次结构。我也使用netDataContract serialziation,这使得xml更加丑陋。构建xslt有多容易?有没有什么工具?是不是更容易使用字典,这将永远不会破坏任何东西? – 2010-06-08 20:45:27
难度取决于三角洲从一个版本到下一个版本的重要程度。 *有*工具,将有所帮助。例如[Altova](http://www.altova.com/)MapForce。如果你使用字典,那么你的层次结构是否会变平?我不确定DataContract序列化程序,但我知道要使用XmlSerializer的字典,您必须提供自己的序列化和反序列化逻辑,所以它不会真正为您简化。 – Toby 2010-06-09 11:22:17