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();
        }
    }
  • 相关阅读:
    大数据项目实战之在线教育(01数仓需求)
    大数据项目实战之在线教育(02数仓实现)
    大数据之flink教程-TableAPI和SQL
    尚硅谷大数据技术之电商用户行为数据分析
    大数据实时项目(采集部分)
    大数据实时项目(交易额)
    作业一
    预备作业
    重建二叉树
    矩形覆盖
  • 原文地址:https://www.cnblogs.com/nonlyli/p/1292071.html
Copyright © 2011-2022 走看看