Использование хранимой процедуры для чтения записей из базы данных в NHibernate? - PullRequest
1 голос
/ 03 февраля 2010

Является ли чтение записей базы данных из базы данных с использованием хранимых процедур в NHibernate хорошим подходом? Если да, то почему, или если нет, то и почему? Приложение имеет только функцию чтения значений из базы данных с использованием NHibernate на уровне доступа к данным, без обновлений и без вставок, только для извлечения.

Ответы [ 2 ]

4 голосов
/ 03 февраля 2010

По моему мнению, хранимые процедуры необходимы, только если вы обрабатываете огромное количество данных. Производительность выше, поскольку система управления базами данных может использовать свои процедуры оптимизации для ускорения доступа к хранимым данным.

Причиной отказа от использования хранимых процедур является то, что вы хотите разделить базы данных и ваше приложение. Таким образом, вы можете изменить систему базы данных, если хотите. Если вы используете хранимые процедуры, вы привязаны к этому конкретному dbms (т.е. oracle).

2 голосов
/ 03 февраля 2010

Является ли чтение записей базы данных из базы данных с использованием хранимых процедур в NHibernate хорошим подходом?

Если вы гидратируете сетки данных, нет.В то время как NHibernate допускает этот сценарий, он плохо использует NHibernate, так как NHibernate не приносит особой пользы.Зачем полагаться на NHibernate, потому что взамен ничего не получается?

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

Ответ будет практически одинаковым для любого .NET ORM, если предположить, что ORM может гидратировать объекты на основе данныхвозвращается хранимой процедурой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...