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

转载于:https://www.cnblogs.com/nonlyli/archive/2008/09/16/1292071.html

Castle.ActiveRecord的嵌套事务处理相关推荐

  1. Castle ActiveRecord(一)概述

    一.ActiveRecord与Castle ActiveRecord ActiveRecord是<Patterns of Enterprise Application Architecture& ...

  2. Castle ActiveRecord 泛型应用

    Castle ActiveRecord在.Net2.0下支持泛型,这极大的方便了我们创建强类型集合以及对对象的强类型操作.本文引用了Castle站点上泛型的例子来详细介绍如何应用泛型. 另外你需要在这 ...

  3. Castle ActiveRecord学习实践(1):快速入门指南

    摘要:最近几天有时间看了一下Castle,原来它的功能是如此的强大,从数据访问框架到IOC容器,再到WEB框架,基本包括了整个开发过程中的所有东西,看来得好好学习研究一下了,并且打算把自己学习过程的一 ...

  4. Castle.ActiveRecord的ProxyFactory配置

    前后差不多两年没使用过Castle.ActiveRecord做ORM了,也近两年没有关注Castle的版本变化了,最近关注了发现很多地方都改变了.今天在一个现有的小项目中尝试添加Castle.Acti ...

  5. 使用 Castle ActiveRecord

    使用 Castle ActiveRecord: 由 database (测试于SQL 2005) 直接使用 AR 的 Generator 产生 mapping class (C#/BV.Net) 法: ...

  6. castle activerecord mysql_Castle ActiveRecord配置中需要注意的地方

    关于Castle 的开发可参考李会军老师的Castle 开发系列文章,里面有关于ActiveRecord学习实践系列和Castle IOC容器系列两个部分,是比较好的教程. 这里主要说明在Castle ...

  7. Castle ActiveRecord学习实践(2):构建配置信息

    摘要:ActiveRecord在底层封装了NHibernate,在框架启动时需要指定相关的配置信息,那么我们需要配置些什么?又该如何去配置呢?本文将会介绍在ActiveRecord中构建配置信息. 主 ...

  8. Castle.ActiveRecord 学与练[3]

    Castle.ActiveRecord引入了特性映射这个概念,使用Attribute来代替.hbm.xml文件,从而更加清晰的呈现出了实体类跟数据库表之间的关系,使持久化的数据操作更加简单,易用.   ...

  9. Castle ActiveRecord学习实践(8)HQL查询

    本篇来了解下Castle ActiveRecord hql 查询语句. 博客园中讲解Castle ActiveRecord 的文章已经很多了,博主就不自己写了.转载一篇TerryLee大大的文章. 摘 ...

最新文章

  1. JavaScript 中 call、apply和bind的用法区别
  2. python的基础知识
  3. Linux命令之乐--nmap
  4. Windows Phone开发(35):使用Express Blend绘图 转:http://blog.csdn.net/tcjiaan/article/details/7493010...
  5. 游戏行业案例 | 99.7% 的充值玩家比例提升,从何而来?
  6. VTK:PolyData之DeleteCells
  7. Linux系统诊断实践-内存基础
  8. 对前端Jenkins自动化部署的研究
  9. 博客园-我的新的开始
  10. DIY audio player - 自定义audio播放器样式
  11. python创建txt文件换行输入,python如何创建txt文件并写入
  12. Java携带HTTP头信息下载网络图片
  13. 服务器显示屏 超出工作频率范围,Win10显示器显示超出工作频率范围解决方法
  14. 初步了解JS的作用域
  15. 怎样写好Flutter代码
  16. java_vinson_04:String类浅识
  17. Python操作MySQL
  18. 霍华德:二呆青年勤修苦练终成一代大侠记
  19. 傅里叶变换和拉普拉斯变换的物理解释及区别
  20. pyqt5中QGraphicsView弹出菜单

热门文章

  1. python发声-python3-声音处理
  2. python视频下载-Python实现视频下载功能
  3. python语言入门教程-菜鸟学Python入门教程大盘点|7个多月的心血总结
  4. python下载的文件放在哪里的-Python下载文件的方法
  5. python turtle画椭圆-【python turtle如何画椭圆】
  6. python下载文件到指定目录-python – 如何将文件下载到特定目录?
  7. python编程和c语言编程的区别-C语言 python Java 等主要流行编程语言优劣对比
  8. python语言入门w-python3入门之类
  9. python自学网站推荐-有哪些值得推荐的Python学习网站?
  10. python比c语言好学吗-python和c语言哪个更适合初学者