答えは私が考えたよりも速く、wiki documentationにありました。
これはそれを行うための一時的な方法である:あなたが「ILists」を見ることができるように
using (IObjectContainer db = Db4oFactory.OpenFile(dbfilename))
{
var n = db.Ext().StoredClasses();
foreach (var x in n)
{
System.Diagnostics.Debug.WriteLine(x.GetName());
}
var c1 = db.Ext().StoredClass("OldNameSpace.OldType, OldAssembly");//
if (c1 != null)
c1.Rename("NewNameSpace.OldType, NewAssembly");
var c2 = db.Ext().StoredClass("System.Collections.Generic.List`1[[OldNameSpace.OldType, OldAssembly]], mscorlib");
if (c2 != null)
c2.Rename("System.Collections.Generic.List`1[[NewNameSpace.OldType, NewAssembly]], mscorlib");
}
:より恒久的な方法(それは汚いコードだが、それは一時修正のためです)
TypeAlias alias = new TypeAlias("OldNameSpace.OldTypeName, OldAssembly", "NewNameSpace.NewTypeName, NewAssembly");
Db4oFactory.Configure().AddAlias(alias);
IObjectContainer db = Db4oFactory.OpenFile(dbfilename);
更新が必要です。新しいファイルに保存するときは必ずそれを確認してください。そうしないと、両方のタイプが出力ファイルに取り込まれます。
ご質問ありがとうございます。私は実際にこれを実行しません。私が狂っていないことを知ってうれしいです。実際にはクエリの結果が使用される変数名に依存するデータベース製品があります。 –