zoukankan      html  css  js  c++  java
  • 【OF框架】使用IDbContextTransaction在框架中对多个实体进行事务操作

    准备


     引用框架,按照规范建立数据库表及对应实体。

    一、事务操作


     关键代码

    示例代码如下:

                //插入数据,使用数据库事务,不支持多连接。
                var dbContext = IoCHelper.Resolve<IDbContextCore>();
                using (IDbContextTransaction trans = dbContext.BeginTransaction())
                {
                    try
                    {
                        var service1 = IoCHelper.Resolve<ICRUDService<sys_log>>();
                        service1.Use(dbContext);
                        sys_log e1 = new sys_log()
                        {
                            Id = GuidHelper.NewGuid().ToString(),
                            CreateDate = DateTime.Now
                        };
                        int i1 = service1.Insert(e1);
    
                        var service2 = IoCHelper.Resolve<ICRUDService<sys_file>>();
                        service2.Use(dbContext);
                        string id = success ? GuidHelper.NewGuid().ToString() : GuidHelper.NewGuid().ToString().PadRight(100, '0');
                        sys_file e2 = new sys_file()
                        {
                            Id = id,
                            CreateDate = DateTime.Now
                        };
                        int i2 = service2.Insert(e2);
    
                        trans.Commit();
    
                        return $"成功{i1},{i2}";
                    }
                    catch (Exception)
                    {
                        trans.Rollback();
                        throw;
                    }
                }
  • 相关阅读:
    react常用的方法
    react手动搭建
    js基础
    原生JavaScript实例之简单放大镜
    ||与&&的返回值
    promise简单小结
    连接服务器一般步骤
    github小总结
    __proto__指向问题
    一些函数返回值
  • 原文地址:https://www.cnblogs.com/chenyinxin/p/10900355.html
Copyright © 2011-2022 走看看