Несколько баз данных 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 нужно было откатить. Базы данных находятся на одном сервере.