Множественные транзакции NHibernate в TransactionScope

У меня есть устаревшая dll, которая использует несколько транзакций NHibernate одним методом. Моя задача - заставить этот метод работать как одна транзакция, поэтому я думаю, что TransactionScope должен мне помочь. Однако когда я сделал что-то вроде этого:

using (TransactionScope tx = new TransactionScope())
{
    #region.. code inside dll

    using (ISession session1 = ...)
    using (ITransaction tx1 = session.BeginTransaction())
    {
        // ...do work with session
        tx1.Commit();
    }

    using (ISession session2 = ...)
    using (ITransaction tx2 = session.BeginTransaction())
    {
        // ...do work with session
        tx2.Commit();
    }

    #endregion

    tx.Complete();
}

... метод не откатывается, если tx2 падает!

Буду очень признателен за любое предложение или намек ..

заранее спасибо


person nanek    schedule 01.04.2013    source источник
comment
Это ваш настоящий код? Он очень похож на this, взятый из очень похожего вопроса об объемах транзакций.   -  person Artless    schedule 01.04.2013
comment
Я искал решение, нашел этот фрагмент кода и использовал его, чтобы описать свою проблему.   -  person nanek    schedule 01.04.2013