Прежде всего, извините за мой английский.
Сейчас я создаю базу данных Oracle, в которой все DML упакованы в хранимые процедуры (например, клиент не может напрямую выполнить «INSERT ONTO Articles (...»), вместо этого он должен вызвать SP «ArticleInsert ()»). База данных также имеет свою собственную систему безопасности - специальные таблицы, такие как «Пользователи», «Привилегии», «Пользователи_Привилы». Когда я устанавливаю соединение с базой данных, я должен выполнить специальную хранимую процедуру, чтобы «Войти в систему», например, «Login (database_user, user_password)». После этого база данных «знает», кто я, и знает мои привилегии.
Я планирую написать клиентское приложение на C # с использованием NHibernate. Но этот ORM для каждой новой модификации объекта использует новое соединение с базой данных из пула. Итак, когда я напишу
класс «Article» и подавление стандартного поведения NHib DML («INSERT / UPDATE / DELETE» будет заменено выполнением соответствующих хранимых процедур), как я могу выполнить «Login (database_user, user_password)», когда NHibernate вызывает новое соединение БД из бассейн
Или как решаются такие задачи?
Спасибо