Entity framework 实体框架中的交易与NHibernate
在使用NHibernate很长一段时间后,我现在正在学习实体框架。在NHibernate中,对于每个ISession实例,我使用ISession.BeginTransaction实例化了一个数据库事务。在实体框架中,如何实现每个上下文一个事务的相同效果?ISession并不严格对应于nHibernate中的数据库事务,但它确实内置了一个隐式事务。您可以在此处看到更多信息: 在实体框架中,当您调用SaveChanges时,事务会隐式启动,您可以在 要在实体框架中拥有显式事务,请在EntityConnection上使用TransactionScope或BeginTransaction 最简单的方法是像这样使用TransactionScope:Entity framework 实体框架中的交易与NHibernate,entity-framework,nhibernate,Entity Framework,Nhibernate,在使用NHibernate很长一段时间后,我现在正在学习实体框架。在NHibernate中,对于每个ISession实例,我使用ISession.BeginTransaction实例化了一个数据库事务。在实体框架中,如何实现每个上下文一个事务的相同效果?ISession并不严格对应于nHibernate中的数据库事务,但它确实内置了一个隐式事务。您可以在此处看到更多信息: 在实体框架中,当您调用SaveChanges时,事务会隐式启动,您可以在 要在实体框架中拥有显式事务,请在EntityCon
using (TransactionScope tran = new TransactionScope()){
context.SaveChanges();
//Do more work with this or another context
context.SaveChanges();
tran.Complete();
//Or alternatively don't call Complete and because of the using block Dispose on tran will be
//called causing an Rollback
}
我检查了我的代码,你对NHibernate的看法是对的,所以我澄清了我的问题。请提供一些关于EF的示例代码。我修改了我的答案,加入了使用TransactionScope的示例