NHibernate系列文章十四:NHibernate事务

摘要

NHibernate实现事务机制非常简单,调用ISession.BeginTransaction()开启一个事务对象ITransaction,使用ITransaction.Commit()提交事务,使用ITransaction.Rollback()回滚事务。

标准NHibernate事务代码:

 1        using (var session = SessionFactory.OpenSession())
 2         {
 3             using (var transaction = session.BeginTransaction())
 4             {
 5                 try
 6                 {
 7                     // some date operaton codes here
 8                     transaction.Commit();
 9                 }
10                 catch (HibernateException e)
11                 {
12                     transaction.Rollback();  // or log exception
13                 }
14             }
15         }

也可以使用下面的代码:

 1         var session = SessionFactory.OpenSession();
 2         var transaction = session.BeginTransaction();
 3         try
 4         {
 5             try
 6             {
 7                 // some date operaton codes here
 8                 transaction.Commit();
 9             }
10             catch (HibernateException e)
11             {
12                 transaction.Rollback();
13                 throw e; // or log exception
14             }
15             finally
16             {
17                 transaction.Dispose();
18             }
19         }
20         finally
21         {
22             session.Close();
23         }

上面两段落的代码是等效的。

 

posted on 2016-07-06 21:03 丹尼大叔 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/uncle_danny/p/5648084.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值