У меня проблема.
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 ()
?