强制db4o调用构造函数

时间:2012-06-27 21:09:30

标签: c# .net db4o object-oriented-database

有没有办法告诉db4o在激活对象时调用类默认构造函数?我尝试了以下代码,但它没有工作:

    private static void ConfigureDatabase()
    {
        var config = Db4oEmbedded.NewConfiguration();
        config.Common.ObjectClass(typeof(Device)).CallConstructor(true);
        using(var db = Db4oEmbedded.OpenFile(config, Helper.GetDataFilePath("index"))) { }
    }

从数据库中检索对象时,永远不会调用Device的构造函数。

以及这里的Device构造函数的样子:

    public Device()
    {
        connectionType = ConnectionType.Disconnected;
    }

任何帮助都将不胜感激。

更新 BWT,我也想知道是否有可能告诉db4o为每个对象调用构造函数,而不必为每种类型逐个编写。

1 个答案:

答案 0 :(得分:2)

您是否尝试过this

IEmbeddedConfiguration configuration = Db4oEmbedded.NewConfiguration();
configuration.Common.CallConstructors = true;