Проект MVC 3, над которым я работаю, фиксирует / откатывает все вызовы вставки / обновления, которые я делаю в конце текущего сеанса. Это отлично работает в большинстве случаев, за исключением того момента, когда я делаю несколько вставок.
Когда CSV загружается на сайт, каждая запись анализируется и вставляется в БД. Проблема в том, что если одна запись не может быть вставлена, все предыдущие записи откатываются, и все последующие попытки завершаются ошибкой:
don't flush the Session after an exception occurs
Как я могу отключить запрос на сеанс (или мне нужно как-то «перезапустить» транзакцию)?
Редактировать детали
Сеанс для каждого запроса настраивается в классе, который реализует IHttpModule. Этот класс принимает контекст HttpApplication и класс UnitOfWork. Здесь происходят коммиты и откаты.
Упомянутый выше UnitOfWork вводится в репозитории с помощью StructureMap.
Как я уже сказал, такое поведение подходит для 99% остальной части сайта, мне просто нужно получить это массовое обновление, чтобы игнорировать транзакции сеанса на запрос. Или мне нужно вручную перезапускать транзакцию для каждой новой записи. Я просто не знаю как.