1、事務操做實例html
特別說明:框架
1.特別說明:在事務中,默認狀況下是使用鎖的,也就是說在當前事務沒有結束前,其餘的任何查詢都須要等待post
2.ReadCommitted:在正在讀取數據時保持共享鎖,以免髒讀,可是在事務結束以前能夠更改數據,從而致使不可重複的讀取或幻像數據。spa
//事務處理 using (SqlSugarClient db = SugarContext.GetInstance()) //開啓數據鏈接 { db.CommandTimeOut = 30000;//設置超時時間 try { //db.BeginTran();//開啓事務 //特別說明:在事務中,默認狀況下是使用鎖的,也就是說在當前事務沒有結束前,其餘的任何查詢都須要等待 //ReadCommitted:在正在讀取數據時保持共享鎖,以免髒讀,可是在事務結束以前能夠更改數據,從而致使不可重複的讀取或幻像數據。 db.BeginTran(System.Data.IsolationLevel.ReadCommitted); //重載指定事務的級別 //特別說明:在事務操做中,對於自增加列的表,插入成功,又回滾的會佔據一次自增加值 var id1 = db.Insert<UserInfo>(new UserInfo() { Name = "黎明" }); Console.WriteLine(id1); throw new Exception("事務執行異常"); var id2 = db.Insert<UserInfo>(new UserInfo() { Name = "網名" }); Console.WriteLine(id2); //提交事務 db.CommitTran(); } catch (Exception ex) { db.RollbackTran();//回滾 //throw ex; } }
更多參考:code