Состояние сеанса NHibernate 3 после rollback ()

У меня проблема.

using (var tran = repository.Session.BeginTransaction())
{
    try
    {
        repository.Save(entity);
        tran.Comit();
    }
    catch(Exception)
    {
        tran.Rollback();
        throw;
    }    
}

using (var tran = repository.Session.BeginTransaction())
{
    try
    {
        repository.GetById(id);
        tran.Comit();
    }
    catch(Exception)
    {
        tran.Rollback();
        throw;
    }    
}

Когда я пытаюсь получить объект по ID после исключения и tran.rollback () в первом ] с использованием блока , я получаю исключение обновления. Итак, NHibernate пытается обновить объект из первого , используя блок во втором , используя блок .

Почему? Я выполнил tran.Rollback () . Должен ли я также сделать Session.Clear () ?

6
задан Michael 26 February 2019 в 14:39
поделиться