zoukankan      html  css  js  c++  java
  • 【转】Castle.ActiveRecord的嵌套事务处理

    嵌套的情况下,怎么处理Castle.ActiveRecord的事务?

    今天试了一下,原来还是很简单的,只需要使用Castle.ActiveRecord.TransactionMode.Inherits就可以了。

    http://www.castleproject.org/activerecord/documentation/trunk/usersguide/scopes.html

    protected void btnInsert_Click(object sender, EventArgs e)
    
    {
    
        Insert(3);
    
        InsertOne();
    
    }
    
    
    
    
    
    private void InsertOne()
    
    {
    
        TransactionScope scope = new TransactionScope(Castle.ActiveRecord.TransactionMode.Inherits);
    
        try
    
        {
    
        Blog blog = new Blog();
    
        blog.Name = "blog1";
    
        blog.Author = "Author";
    
        blog.Create();
    
    
    
        Insert(2);
    
    
    
        int a = 0;
    
        a = 100 / a;
    
    
    
        scope.VoteCommit();
    
        }
    
        catch
    
        {
    
        scope.VoteRollBack();
    
        throw;
    
        }
    
        finally
    
        {
    
        scope.Dispose();
    
        }
    
    }
    
    
    
    
    
    private void Insert(int i)
    
    {
    
        TransactionScope scope = new TransactionScope(Castle.ActiveRecord.TransactionMode.Inherits);
    
        try
    
        {
    
        Blog blog = new Blog();
    
        blog.Name = "blog" + i;
    
        blog.Author = "Author" + i;
    
        blog.Create();
    
        scope.VoteCommit();
    
        }
    
        catch
    
        {
    
        scope.VoteRollBack();
    
        throw;
    
        }
    
        finally
    
        {
    
        scope.Dispose();
    
        }
    
    }
    

      

  • 相关阅读:
    Spring Boot 学习随记
    Prometheus 普罗米修斯监控
    安装VC++6.0步骤及心得
    NFS 系统搭建
    Centos 搭建邮箱系统
    搭建 RTMP 服务器
    阿里云 DTS 实践
    ELK 搭建
    Prometheus 和 Grafana 安装部署
    Centos7 Nagios 搭建
  • 原文地址:https://www.cnblogs.com/wdw31210/p/3916352.html
Copyright © 2011-2022 走看看