事物TransactionScope

using  System.Transactions

如果修改、删除、添加一类操作涉及到多张表,那么最好用事物 trans.Complete();保证多张表的同时修改

using (TransactionScope trans = new TransactionScope())
{
                        if (result.Result)
                        {
                            foreach (SubOrders subOrders in listSubOrders)
                            {
                                if (result.Result)
                                {
                                    result.Result = _orderDao.UpdateSubOrders(subOrders) > 0;
                                }
                            }

                        }
                        if (result.Result)
                        {
                            OrderPaymentDetails orderPaymentDetails = new OrderPaymentDetails()
                            {
                                Amount = mainOrders.TotalPay,
                                Bank = category.ToString(),
                                CreateTime = DateTime.Now,
                                MainOrderID = mainOrders.MOID,
                                Method = 1,
                                PayParam = string.Join("&", listParam)
                            };
                            result.Result = _orderDao.InsertOrderPaymentDetails(orderPaymentDetails) > 0;
                        }
                        if (result.Result)
                        {
                            trans.Complete();
                        }
}

 

posted @ 2015-11-06 17:29  .追风逐月  阅读(156)  评论(0编辑  收藏  举报