如果您使用reflector,您可以輕鬆找到SimpleRepository如何管理遷移。
我還沒有真正嘗試這個代碼,但你可以簡單地做遷移相同的方式SimpleRepository做:
- 創建一個新的遷移,傳遞您的大會的構造。
- 創建BatchQuery如果你想通過調用MigrateFromModel方法的遷移對象
- 上,如果你想使用BatchQuery使用交易
- 迭代通過你要遷移的類型,得到了SQL字符串,創建新的QueryCommand並將對象傳遞給BatchQuery的QueueForTransaction方法。
這裏是在反射器的方法:
private void Migrate<T>() where T: class, new()
{
Type item = typeof(T);
if (!this.migrated.Contains(item))
{
BatchQuery query = new BatchQuery(this._provider);
Migrator migrator = new Migrator(Assembly.GetExecutingAssembly());
foreach (string str in migrator.MigrateFromModel(item, this._provider))
{
query.QueueForTransaction(new QueryCommand(str, this._provider));
}
query.ExecuteTransaction();
this.migrated.Add(item);
}
}
甜,我會試試這個... – jvenema 2009-11-19 16:40:59
我不會賞金到期前有機會測試這一點,所以我反正給你。謝謝回覆。 – jvenema 2009-11-19 19:53:58
謝謝:) - 讓我知道它是如何工作的。 – 2009-11-19 20:01:44