正如我在db4o 文档(.net 版本)中所读到的,我认为要重命名类中的字段,我必须将以下内容添加到我的代码中(当然,还要重命名类中的实际字段):
IEmbeddedConfiguration configuration = Db4oEmbedded.NewConfiguration();
configuration.Common.ObjectClass("Namespace.ClassName, AssemblyName").
ObjectField("fieldname").Rename("newfieldname");
然后把这段代码留在那里。但是我对此进行了测试,但它不起作用(数据库中的对象不会加载重命名的字段)。起作用的是按照此页面中的说明进行操作,这些说明是
- 配置重命名
- 使用1中创建的配置打开数据库
- 关闭数据库
- 更改代码中的字段名称
- 现在再次打开数据库时不要配置重命名。
这对我来说似乎有点奇怪。我的程序需要只使用 rename 调用运行一次,然后运行没有 rename 调用但重命名实际字段。问题是:有没有一种方法可以一步有效地重命名?
有效的步骤可能意味着一些额外的努力,例如,在更新嵌入式(移动)应用程序的过程中 - 在客户端上安装新版本(重构)之前,有必要运行一次重命名调用。有没有办法避免它?我是否遗漏了某些内容,或者是否有其他方法可以重命名 db4o 数据库中的字段?