摘要
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 }
上面两段落的代码是等效的。
作者:丹尼大叔
出处:http://www.cnblogs.com/uncle_danny
本文版权归作者和博客园共有,欢迎转载。但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。