В проекте, над которым работает моя команда, есть служба Windows, которая перебирает все сущности в определенной таблице и обновляет некоторые из их полей на основе определенных нами правил. Мы используем NHibernate в качестве нашего инструмента ORM. В настоящее время мы открываем один сеанс и одну транзакцию для всего процесса, что означает, что транзакция фиксируется после того, как все объекты были обработаны. Я думаю, что этот подход не очень хорош, и я хотел бы услышать еще несколько мнений:
Должны ли мы сохранить наш текущий способ управления сессией, или должны перейти к другому подходу?
Один вариант, о котором я подумал, - это открытие транзакции для каждой сущности, а другое предложение - открыть новую сессию для каждой сущности.
Какой подход, по вашему мнению, будет работать лучше всего?