2011-05-24 45 views
1

我有一個關於正確處理數據庫重新創建的問題。NHibernate:使用SchemaExport重建數據庫

在我的開發環境,我經常用

_schemaExport.Drop(true, true); 
_schemaExport.Create(createResult, true); 

創建數據庫(我得注意,我用的是希洛發電機)後,權當我重新創建數據庫時,有時保存的由於Cannot insert duplicate key...」異常而導致新實體失敗。

我的問題: 我將不得不重新初始化會話工廠(甚至會話),以正確進來同步新希洛使用的數據庫?還是應該像現在一樣工作?

任何提示表示讚賞!

了Lg
warappa

回答

1

我說你肯定有再造一個數據庫後,創建一個新的會話。另一個選項是在重新創建數據庫之前清除現有的數據庫。

在您重新創建數據庫後,ID生成器將從頭開始。這可能會導致一些生成的ID與先前現有會話中另一個對象的ID相同。因此你會得到重複的關鍵錯誤。

相關問題