EF 中事務的書寫


在EF 中怎么使用事務?

這個問題糾結了我好久,直到有人跟我一起討論,我和同事一起討論查資料。

查的好多資料都是使用

using (TransactionScope scope = new TransactionScope()) {   //具體代碼內容
 scope.Complete(); } 

這種方式。
而我在實際使用中是沒法使用的。

所以我就一直找其他的方式,無意中看到某個網站的的database,然后我就采用了下面的方式:

 1 using (var dbContext = new TopOnlineDbContext())  2  {  3                 using (var scope = dbContext.Database.BeginTransaction())  4  {  5                     try
 6  {  7                         if (ids != null)  8  {  9                             foreach (var id in ids) 10  { 11                                 T t = dbContext.Find<T>(id); 12                                 assfeedback.IsDel = true; 13                                 dbContext.Update<T>(t); 14  } 15  } 16                         scope.Commit();//正常完成就可以提交
17                         return 0; 18  } 19                     catch (Exception ex) 20  { 21                         scope.Rollback();//發生異常就回滾
22                         return -1; 23  } 24  } 25             }

 


免責聲明!

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



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