SqlSugar-事務操做

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

SqlSugar經常使用增刪改操做htm

SqlSugar經常使用查詢實例-拉姆達表達式blog

SqlSugar框架T4模板的使用事務

.Net開源SqlServer ORM框架SqlSugar整理get

相關文章
相關標籤/搜索