NHibernate TooManyRowsActedException при попытке удалить несколько объектов - PullRequest
5 голосов
/ 10 октября 2011

Обычно я получаю это исключение при попытке удалить коллекцию сущностей с помощью nHibernate. Ниже мой код

   public void DeleteAll<T>(IList<T> entities)
   {
      using(var tx = session.BeginTransaction())
      { 
        try
        {
             entities.ForEach(e=>session.Delete(e));
             tx.Commit(); 
        }
        catch(Exception)
        {
             tx.Rollback();
        }
      }
   }

Использование hql работает без проблем, но я бы предпочел придерживаться подхода LINQish. О, и я подключаюсь к базе данных Oracle.

1 Ответ

1 голос
/ 22 февраля 2013

Вы не можете удалить элемент по foreach, попробуйте и будьте осторожны с индексом for, после удаления установите индекс -

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...