【转】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();
}
}
【转】Castle.ActiveRecord的嵌套事务处理的更多相关文章
- Castle.ActiveRecord多数据库配置
最近使用Castle.ActiveRecord框架,网上关于多数据支持的文章很少,因此有了这篇博文的产生. 开发工具VS2015,Sql Server2008R2 新建数据库,数据初始化脚本如下: - ...
- 记录Castle ActiveRecord访问Sqlite的配置
1.ActiveRecord配置文件ARConfig.xml,并将配置文件的“生成操作”改成“嵌入的资源” <?xml version=; i < ; i++) { ...
- Castle ActiveRecord框架学习(二):快速搭建简单博客网站
一.数据库 1.数据表 Category:类别标签表(字段Type=1为类别,Type=2为标签) Category_Post:类别标签与文章中间表 Post:文章表 Comment:评论表 2.数据 ...
- Castle ActiveRecord框架学习(一)
一.Active Record(活动记录)模式 Active Record是业务逻辑层中(<企业应用架构模式>将该模式归为数据源模式)常用的一种框架模式,尤其在底层数据库模型匹配业务模型时 ...
- Castle.ActiveRecord 多对多关系 引发的错误处理
在Castle.ActiveRecord 实体类中,如果两个对象有 “多对多” 关系,一般的做法是将其分解为 两个“一对多”关系,但有时引发了 “您要删除 或 引用 的对象#2在数据库中不存在”的异常 ...
- Castle.ActiveRecord (V3.0.0.130)
为项目添加 Castle.ActiveRecord 的引用: 安装成功后,查看项目的引用如图: 配置文件 App.Config (MySQL) <?xml version="1.0&q ...
- Castle ActiveRecord学习实践
Castle是针对.NET平台的一个开源项目,从数据访问框架ORM到IOC容器,再到WEB层的MVC框架.AOP,基本包括了整个开发过程中的所有东西,为我们快速的构建企业级的应用程序提供了很好的服务. ...
- Castle ActiveRecord简单介绍
Castle ActiveRecord框架是一个基于.NET的ORM框架,它实现了ActiveRecord设计模式.它本身就是基于NHibernate,只是封 装了NHibernate的大部分烦杂细节 ...
- Castle ActiveRecord配置文件中连接字符串解密
使用Castle ActiveRecord通常都是使用配置文件进行数据库连接配置.然后采用如下方式初始化: IConfigurationSource source = ConfigurationMan ...
随机推荐
- LumiSoft.Net 收发邮件
一:LumiSoft.Net简介 Lumisoft is a software development company specialised in mobile phones and tablets ...
- linux下汇编语言开发总结
汇编语言是直接对应系统指令集的低级语言,在语言越来越抽象的今天,汇编语言并不像高级语言那样使用广泛,仅仅在驱动程序,嵌入式系统等对性能要求苛刻的领域才能见到它们的身影.但是这并不表示汇编语言就已经没有 ...
- Springboot 配置实现定时任务
善于思考,拥抱变化,才能拥有未来 在springboot项目中可以通过配置文件来实现定时任务的轮询,当然也可以将具体执行的corn表达式配置到数据库,实现动态从数据库获取. @Configuratio ...
- Linux 安装Zookeeper<单机版>(使用Mac远程访问)
阅读本文需要先阅读安装Zookeeper<准备> 新建目录 mkdir /usr/local/zookeeper 解压 cd zookeeper压缩包所在目录 tar -xvf zooke ...
- NO.07--我跟“ 币乎 ”的那些事
文章开头给大家安利一款app吧,就是我标题提到的,‘币乎’,一个近似于虚拟货币的论坛吧,大家可以下载试试,发文章点赞赚钱,... 好了,开始说一说今天的正题吧: 这些事情说起来其实挺惭愧的,但也不是什 ...
- HPUX 配置zabbix开机自动启动
1. 在/etc/rc.config.d目录下创建zabbixd文件,并增加以下内容: #!/sbin/sh # v1.0 ?zabbixd startup/kill config ...
- 5个最优秀的微信小程序UI组件库
开发微信小程序的过程中,选择一款好用的组件库,可以达到事半功倍的效果.自从微信小程序面世以来,不断有一些开源组件库出来,下面5款就是排名比较靠前,用户使用量与关注度比较高的小程序UI组件库.还没用到它 ...
- Python基础知识-06-集合内存布尔False
python其他知识目录 1.判断一个字符串中是否有敏感字符? #str: m_str="我叫魔降风云变" if "魔" in m_str: #判断指定字符是否 ...
- 详讲H5、WebApp项目中常见的坑以及注意事项
首先我们中会有一些常用的meta标签,如下: <!--防止手机中网页放大和缩小--> <meta name="viewport" content="wi ...
- CF刷刷水题找自信1
CF 1108A Two distinct points 题目意思:给你两个线段的起点和终点,让你给出两个不同的点,这两点分别处于两个不同的线段之中.解题思路:题目说如果存在多种可能的点,随意一组答案 ...