zoukankan      html  css  js  c++  java
  • TransactionScope只要一个操作失败,它会自动回滚,Complete表示事务完成

    实事上,一个错误的理解就是Complete()方法是提交事务的,这是错误的,事实上,它的作用的表示本事务完成,它一般放在try{}的结尾处,不用判断前台操作是否成功,如果不成功,它会自己回滚。

      #region 事务问题
                using (TransactionScope trans = new TransactionScope())
                {
                    try
                    {
                        InsertUserBase(); //它插入不成功,自己回滚

                        UserInfos userInfo = new UserInfos
                        {
                            UserID = "1",
                            RealName = "zzl",
                        };
                        db.UserInfos.InsertOnSubmit(userInfo);
                        db.SubmitChanges();

                        trans.Complete();
                    }
                    catch (Exception)
                    {

                        // throw;
                    }
                    finally
                    {
                        trans.Dispose();
                    }
                }
                #endregion

      static bool InsertUserBase()
            {

                bool flag;
                try
                {
                    UserBases userbase = new UserBases
                    {
                        UserID = "0005",
                        Name = "zzl",
                        CreateDate = DateTime.Now,
                        UpdateDate = DateTime.Now,

                    };
                    db.UserBases.InsertOnSubmit(userbase);
                    db.SubmitChanges();
                    flag = true;
                }
                catch (Exception)
                {

                    throw;
                }
                return flag;

            }

    InsertUserBase()只要出现异常,程序将自己回滚

  • 相关阅读:
    CCPC-Wannafly Winter Camp Day8 (Div2, onsite)
    Codeforces gym101612 E.Equal Numbers(贪心)
    Codeforces gym101612 L.Little Difference(枚举+二分)
    Linq-ToList与ToArray
    SQL SERVER性能分析
    无法访问IIS 没有足够的特权访问计算机
    SQL SERVER获得指定表的主键
    SQL Server 中master..spt_values的应用
    买了阿里云之后:挂载新硬盘
    支付宝WAP支付接口开发
  • 原文地址:https://www.cnblogs.com/lori/p/2216086.html
Copyright © 2011-2022 走看看