調用方法以下
須經過'DBTool.BeginTransaction()'開啓事務調用'tran.Complete()'提交事務,不調用'tran.Complete()'當using結束會自動回滾
測試
using (var tran = DBTool.BeginTransaction()) { var repository = GetRepository(); var deleteCount = repository.Delete(m => m.DataSource == "測試來源批量修改"); tran.Complete(); }
事務支持嵌套,當嵌套時只有調用最外層的'tran.Complete()'纔會提交事務.code
using (var tran = DBTool.BeginTransaction()) { using (var tran2 = DBTool.BeginTransaction()) { var repository = GetRepository(); var deleteCount = repository.Delete(m => m.DataSource == "測試來源批量修改"); //下面這句話並不會提交事務 tran2.Complete(); } //下面這句話會提交事務 tran.Complete(); }