SqlSugar-事務操作


一、事務操作實例

特別說明:

1.特別說明:在事務中,默認情況下是使用鎖的,也就是說在當前事務沒有結束前,其他的任何查詢都需要等待

2.ReadCommitted:在正在讀取數據時保持共享鎖,以避免臟讀,但是在事務結束之前可以更改數據,從而導致不可重復的讀取或幻像數據。

//事務處理
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;
    }
}

 

更多參考:

SqlSugar常用增刪改操作

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

SqlSugar框架T4模板的使用

.Net開源SqlServer ORM框架SqlSugar整理


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM