2013-02-01 28 views
1

我們正在使用NHibernate作爲我們的域模型的DAL。 在批量處理結束時,我想要做的使用NHibernate的DAL如何使用具有活動事務的連接獲取NHibernate會話

喜歡的東西一些動作:

public void BulkUpdate() 
{ 
    var connection = new sqlConnection(「connectonstring」); 
    var transaction = connection.BeginTransaction(); 
    // Do Bulk Stuff 
    var session = SessionFactory.OpenSession(connection); 
    var result = session.Query<DomainClass>(); 
    // Do Stuff with Result 
    transaction.Commit(); 
    connection.Close();  
} 

的NHibernate的讀取嘗試失敗,因爲它試圖使用一個命令對象,有沒有交易集。但我不知道如何將事務對象傳遞給它。

任何Nhibernate大師的外面?

回答

3

我覺得這個方法可能會奏效,但沒有時間,現在要驗證:

  • 首先,從您的連接字符串創建一個會話的NHibernate如圖所示in this SO answer
  • 打開像交易這樣的:session.BeginTransaction()
  • 使用session.Connection屬性來執行批量東西
  • session完成加工並提交視情況而定
+0

聽起來像一個計劃!我會試試這個,謝謝 –

+0

你的方法是對的。我用我需要的步驟更新了答案,以便將事務傳播到SQL命令以獲取大量內容。再次感謝! –

相關問題