1
這似乎是將所有數據庫調用放入事務的最佳實踐。所以,我想在交易中選擇一個動作,但我找不到如何操作。如何在NHibernate中的事務中進行檢索操作?
我曾嘗試這個代碼,但我得到一個錯誤:
using (var session = GetSession().SessionFactory.OpenSession())
using (var transaction = session.BeginTransaction())
{
// var session = GetSession();
var result = session.Query<I>().Where(condition);
transaction.Commit();
return result;
}
錯誤:
Session is closed! Object name: 'ISession'.
關於最初的一句話:保存/更新調用不(總是)觸發到寫數據庫。更重要的是,它們不是導致寫作的唯一方式。使用NHibernate默認設置,如果會話中加載的對象已被修改並且可能影響查詢結果,則任何查詢都可能觸發寫入操作。 –