Один из аргументов, которые я слышал в пользу sprocs по сравнению с ORM, заключается в том, что они не хотят, чтобы люди делали , что они хотят в базе данных. Они запрещают выбирать / вставлять / обновлять / удалять сами таблицы. Каждое действие контролируется с помощью процедуры, которая рассматривается администратором базы данных. Я могу понять, откуда взялась эта мысль ... особенно, когда у вас есть кучка любителей, все в своих руках в вашей базе данных.
Но времена изменились, а NHibernate изменился. Это невероятно зрелый. В большинстве случаев он будет писать лучше SQL, чем ваш DBA:).
Вы все еще должны защищать себя от глупостей. Как говорит человек-паук, «с большой силой приходит большая ответственность»
Я думаю, что гораздо более уместно предоставить NHibernate надлежащий доступ к базе данных и контролировать действия с помощью других средств, таких как ведение журнала аудита и регулярное резервное копирование. Если кто-то делает глупость, вы всегда можете прийти в себя.