C#事务的使用

1.引入相应的命名空间

using System.Transactions;

2.代码事例(using (TransactionScope ts = new TransactionScope()))

 1 public JsonResult DriverCommentAdd(OrderComment orderComment)
 2         {
 3             
 4             try
 5             {
 6                 using (TransactionScope ts = new TransactionScope())
 7                 {
 8                     var order = db.Orders.SingleOrDefault(p => p.ID == orderComment.OrderID);
 9                     if (order.OrderStatus == (byte)OrderStatus.Commanded
10                         || order.OrderStatus==(byte)OrderStatus.DriverCommanded)
11                     {
12                         return Json(new { state = true, msg = "该订单已经评论过了" }, JsonRequestBehavior.AllowGet);
13                     }
14 
15                     //获取车主信息
16                     var user = authMag.GetUser(Token);
17                     orderComment.FromID = user.ID;
18                     orderComment.ToID = order.PassengerUserID;
19                     orderComment.CreateTime = DateTime.Now;
20                     orderComment.IsCommentByPassgenger = false;
21                     db.Entry<OrderComment>(orderComment).State = EntityState.Added;
22                     if (order.OrderStatus == (byte)OrderStatus.Arrived)
23                     {
24                         order.OrderStatus = (byte)OrderStatus.DriverCommanded;
25                     }
26                     else if (order.OrderStatus == (byte)OrderStatus.PassengerCommanded)
27                     {
28                         order.OrderStatus = (byte)OrderStatus.Commanded;
29                     }
30                     db.SaveChanges();
31                     ts.Complete();
32 
33                     return Json(new { state = true, msg = "评论成功" }, JsonRequestBehavior.AllowGet);
34                 }
35 
36             }
37             catch (Exception ex)
38             {
39                 Log.Debug("错误日志:::" + ex.StackTrace);
40                 return Json(new { state = false, msg = "评论失败" + ex.Message }, JsonRequestBehavior.AllowGet);
41             }
42         }
原文地址:https://www.cnblogs.com/CeleryCabbage/p/5190025.html