C# 更新数据库的最佳方法&x27;更改对象形式后,将序列化对象
我经常以xml形式将对象写入数据库 但是,如果我更改了对象的形式,比如更改名称或字段,我将无法再从数据库中读取它们,这使得读取它们、将它们转换为新形式并将它们写回数据库的任务有些困难 我不希望每次更改类的某些内容时都必须重命名它们C# 更新数据库的最佳方法&x27;更改对象形式后,将序列化对象,c#,xml,database,xml-serialization,C#,Xml,Database,Xml Serialization,我经常以xml形式将对象写入数据库 但是,如果我更改了对象的形式,比如更改名称或字段,我将无法再从数据库中读取它们,这使得读取它们、将它们转换为新形式并将它们写回数据库的任务有些困难 我不希望每次更改类的某些内容时都必须重命名它们 *注意:我依靠C#的Xml序列化/对象反序列化来生成Xml。如果我更改对象的格式,这可能是不可取的。这最终取决于如何序列化对象 一个方便的选择是将它们存储为散列(键值对)。这样,如果我添加另一个属性繁殖,则现有对象不会无效。他们只有breed=nil 确切的存储格式(
*注意:我依靠C#的Xml序列化/对象反序列化来生成Xml。如果我更改对象的格式,这可能是不可取的。这最终取决于如何序列化对象 一个方便的选择是将它们存储为散列(键值对)。这样,如果我添加另一个属性
繁殖
,则现有对象不会无效。他们只有breed=nil
确切的存储格式(xml、json或单独的“属性”表)在这种情况下并不重要,重要的是如何将对象转换为xml、json或单独的“属性”表
但我认为,在不了解特定平台的情况下,任何人都不可能给出具体的建议。如果在对象上实现ISerializable接口,那么就可以实现自定义序列化/反序列化例程,从而提供与旧版本对象的向后兼容性
请参见此处,以了解如何实现该功能的示例:如果您正在进行大量工作,您可能需要查看文档数据库;比RDBMS更适合这种类型的使用是。。。