【发布时间】:2010-06-08 15:29:16
【问题描述】:
这就是我正在考虑使用 DB4o 的方式。当我需要查询时,我会打开文件,读取并关闭:
using (IObjectContainer db = Db4oFactory.OpenFile(Db4oFactory.NewConfiguration(), YapFileName))
{
try
{
List<Pilot> pilots = db.Query<Pilot>().ToList<Pilot>();
}
finally
{
try { db.Close(); }
catch (Exception) { };
}
}
稍后,当我需要插入时,然后
using (IObjectContainer db = Db4oFactory.OpenFile(Db4oFactory.NewConfiguration(), YapFileName))
{
try
{
Pilot pilot1 = new Pilot("Michael Schumacher", 100);
db.Store(pilot1);
}
finally
{
try { db.Close(); }
catch (Exception) { };
}
}
通过这种方式,我认为我可以通过仅在需要时打开文件并在大部分时间关闭文件来保持文件更整洁。但我不断收到 InvalidCastException
Unable to cast object of type 'Db4objects.Db4o.Reflect.Generic.GenericObject' to type 'Pilot'
使用 DB4o 的正确方法是什么?
【问题讨论】:
标签: db4o