Nhibernate: Обрабатывание Исключения ITransaction Так, чтобы Новые Транзакции Могли Продолжить тот же ISession

Вам нужно сначала указать значение:

var x = document.querySelectorAll(`input[name="` + data['res'] + `"]`);
11
задан Firo 10 June 2014 в 06:05
поделиться

2 ответа

Не возможно снова использовать сессию NHibernate после того, как исключение будет выдано. Заключение в кавычки документации:

If the ISession throws an exception you should immediately rollback the
transaction, call ISession.Close() and discard the ISession instance.
Certain methods of ISession will not leave the session in a consistent state.

Таким образом, ответ - то, что Вы не можете сделать то, что Вы пытаетесь сделать. Необходимо создать новую сессию и повторить обновления там.

9
ответ дан 3 December 2019 в 08:05
поделиться

Спасибо за ответ. Просто требуемый для проверки это сделало правильно. То, что Вы говорите, - то, что моя обработка ошибок должна быть просто изменена на:

        foreach (var pce in pces)
        {
            try
            {
                DALC.UpdateOrAddObject<PortfolioCorporateEntity>(pce);
            }
            catch (Exception ex)
            {
                Console.WriteLine("Could not add Corporate Entity ID " + pce.CorporateEntity.CorporateEntityID.ToString());

                session.Close();
                session = sessionsManager.GetSession();
                DALC.Session = session;

            }
        }

Похож это работает просто великолепно.Спасибо.

0
ответ дан 3 December 2019 в 08:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: