有没有办法告诉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为每个对象调用构造函数,而不必为每种类型逐个编写。
答案 0 :(得分:2)
您是否尝试过this?
IEmbeddedConfiguration configuration = Db4oEmbedded.NewConfiguration();
configuration.Common.CallConstructors = true;