Несколько баз данных Nhibernate в одной транзакции

Моя программа имеет доступ к 2 базам данных и делает некоторые работы с БД. Я хочу выполнить эти работы в одной транзакции, и если одна из них получит какую-либо ошибку, также НЕ следует совершать другую.

Вот где я сейчас, простой код программы.

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();
}

Я хочу, чтобы, если что-то не так в trnx1, trnx2 нужно было откатить. Базы данных находятся на одном сервере.

0 ответов

Другие вопросы по тегам