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()只要出现异常,程序将自己回滚

  • 相关阅读:
    Form 中调用指定请求并给定默认参数
    OAF 汇总行的做法
    EBS 开发常用SQL
    EBS 中常用的配置文件及说明
    OAF 常见概念介绍
    OAF 多语言的实现
    OAF 个性化基础
    OAF 开发前置配置
    条款20 STL函数对象
    条款19 command 模式与好莱坞法则
  • 原文地址:https://www.cnblogs.com/soundcode/p/6788958.html
Copyright © 2011-2022 走看看