Nhibernate Multiple Database in One Transaction

眉间皱痕 提交于 2019-12-24 12:45:28

问题


My program access to 2 databases and do some DB works. I want to do these works in one transaction and if one of them get any error, also another one should NOT be committed.

Here where I am right now, the simple code of a program.

using (var transactionScope = new TransactionScope(TransactionScopeOption.Required, transactionOptions))
{
            using (var session1 = NHibernateHelper.OpenSession1())
            {
                using (var session2 = NHibernateHelper.OpenSession2())
                {
                    using (var trnx1 = session1.BeginTransaction())
                    {
                        using (var trnx2 = session2.BeginTransaction())
                        {

                            session2.Save(bla bla);
                            session1.Update(bla bla);
                            trnx2.Commit();
                            trnx1.Commit();
                        }
                    }

                }
            }
            transactionScope.Complete();
}

I want to that if something wrong in trnx1, trnx2 should be rolled-back. Databases are in same Server.

来源:https://stackoverflow.com/questions/33610676/nhibernate-multiple-database-in-one-transaction

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!