Если вы используете хранимые процедуры, то да, вам придется переносить их на каждый бэкэнд.Возможно, вам удастся обойтись без определения параметризованных операторов sql в конфигурации NHibernate, но, вероятно, все еще будет трудно придумать операторы, не зависящие от базы данных.
Самый простой способ - позволить NHibernate генерировать ваш SQLи просто измените диалект базы данных в конфигурации NHibernate в зависимости от того, какую БД вы используете.Но исходя из вашей ситуации, я думаю, что ответ заключается в том, что вам придется портировать свои процедуры.
Другими словами - использование хранимых процедур лишает NHibernate возможности использования с другой базой данных без необходимостисделать какую-то работу.