嵌套的情况下,怎么处理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();

    }

}

  

最新文章

  1. WCF basicHttpBinding之Message Security Mode
  2. 猪八戒吃西瓜(wmelon)-排序-查找
  3. CentOS 下安装无线哥的老爷机DELL的无线驱动
  4. HDU2829
  5. sikuli运行出现问题:Win32Util.dll: Can't load 32-bit .dll on a AMD 64 bit platform
  6. jquery mobile (一)
  7. aliyun硬盘挂载
  8. lable 以及cell的高度自适应
  9. Saltstack自动化运维
  10. 微信小程序swiper标签的测试
  11. Deep learning:一(基础知识_1)
  12. Linux文件与目录管理 - ls, cp, mv
  13. Dubbo常用配置文件分析及核心源码阅读(SPI.Extension)
  14. windows NT的意义和各个版本
  15. 如何自行搭建一个威胁感知大脑 SIEM?| 硬创公开课
  16. WPF 通过线程使用ProcessBar
  17. Github网站加载不完全,响应超时,解决办法
  18. c#开发sqlite
  19. APP案例分析——嘀嗒番茄钟
  20. ueditor 百度编辑器 解决表格没有边框

热门文章

  1. STM8在IAR中Printf的整形长度问题
  2. Appium+python的单元测试框架unittest(3)——discover(转)
  3. 谈谈你对Java异常处理机制的理解
  4. 数据库sql优化总结之1-百万级数据库优化方案+案例分析
  5. 【python 3.6】调用另一个文件的类的方法
  6. JAVA学习笔记--初始化与清理
  7. AirSim的搭建和使用
  8. hadoop之Shuffle和Sort
  9. JavaScript设计模式-----命令模式的简单应用
  10. Python20-Day02