這是否(不是CRUD,但只有Read)代碼要求我編寫事務管理?是否criteria.List(類型)事務管理
ICriteria criteria = SessionFactory.GetCurrentSession().CreateCriteria(EntityType);
criteria.List<BaseEntity>();
這是否(不是CRUD,但只有Read)代碼要求我編寫事務管理?是否criteria.List(類型)事務管理
ICriteria criteria = SessionFactory.GetCurrentSession().CreateCriteria(EntityType);
criteria.List<BaseEntity>();
我不能說我總是這樣做,但我會說這個問題很合理。正如你可以Transactions for read-only DB access?我們可以得到的是:
交易都需要只讀操作,如果你想設置一個特定的超時比默認的超時其他查詢,或者如果你想改變隔離級別。
而且這裏提到:NHibernate Transactions on Reads(小摘錄)
即使我們只是讀取數據,我們要使用事務,因爲使用事務確保我們從得到一個一致的結果數據庫。
所以,在一般情況下,如果你有共同的方式(例如Web請求與AOP處理),它可能是有用的
不,你爲什麼需要一個只讀操作事務?
僅當您想要回滾多個寫入/更新/刪除操作時才需要事務。