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;
                    }
                }
  • 相关阅读:
    函数柯里化
    常用正则
    校验table行内的form编辑
    前端代码 读取excel表格数据
    cocos2d-x 帧动画学习
    Linux 下vim配置
    Android开发笔记 二
    cocos2d-x CCDictionary类学习
    Android开发笔记
    Cococs2d-x移植到Window下的问题
  • 原文地址:https://www.cnblogs.com/chenyinxin/p/10900355.html
Copyright © 2011-2022 走看看