RavenDB:将文档属性转换为另一种类型

时间:2011-08-22 12:44:37

标签: c# ravendb

我正在开发一个应用程序,我在前进时会更改文档(一个小项目来学习像RavenDB这样的东西)。某些更改不向后兼容,这会在我尝试获取文档时导致JSON反序列化失败。

在反序列化期间,是否有某种方法可以将属性从旧类型转换为新类型?我正在使用Raven.Client.Lightweight作为客户端库。

示例:

我在类AllProperties中有一个名为Dictionary<string,string>的属性。我将类型从字典更改为名为MetadataItemCollection的类。

2 个答案:

答案 0 :(得分:6)

与任何其他数据库解决方案一样,我建议您为这类事情推送您最喜爱的迁移框架。您可能希望对文档执行set-based operations

有趣的是,Ayende将在接下来的几天内发布两篇关于ravendb迁移的文章,但谷歌已经将它们编入索引,你可以在这里访问这些文章:

RavenDB Migrations: When to execute?

RavenDB Migrations: Rolling Updates

Ayende,请原谅我......;)

答案 1 :(得分:3)

如果您在开发过程中这样做,那么最好只删除旧文档并重新创建它们 如果您在制作中这样做,请查看dlang发布的帖子,他们会讨论这些具体问题。