1

有没有办法告诉 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 为每个对象调用构造函数,而不必为每种类型逐一编写。

4

1 回答 1

2

你试过这个吗?

IEmbeddedConfiguration configuration = Db4oEmbedded.NewConfiguration();
configuration.Common.CallConstructors = true;
于 2012-06-27T22:13:59.610 回答