#entity-framework
#entity-framework
Вопрос:
На моем клиентском сайте пользователь базы данных имеет разрешения только на выполнение хранимых процедур.
У пользователя базы данных нет разрешений на прямое выполнение запросов.
Но я использовал Entity Framework, и никакие хранимые процедуры не использовались.
Что я могу сделать?
Ответ №1:
В таком случае лучше использовать собственный SQL ADO.NET напрямую. Основная сила EF заключается в стратегиях сопоставления, запросов linq / ESQL и загрузки. Как только вы будете ограничены хранимыми процедурами, вы потеряете поддержку последних двух = никаких запросов и никаких стратегий загрузки. У вас по-прежнему будет поддержка сопоставления, но это приведет к снижению производительности и потребует строгих ограничений на ваши хранимые процедуры.
Ответ №2:
Entity Framework позволяет сопоставить каждую сущность с набором хранимых процедур, которые будут выполнять вставку, удаление и обновление.
Таким образом, пользователю не придется выполнять запросы напрямую при изменении данных в вашей базе данных.
Если у пользователя также нет разрешений на выбор, вам нужны хранимые процедуры для доступа к данным. Entity Framework может вам помочь, потому что вы можете импортировать хранимые процедуры в SSDL-часть вашего EDMX, а затем вы можете сопоставить эти хранимые процедуры с функциями в вашем ObjectContext.
Комментарии:
1. Как мы можем это сделать? какие-либо ссылки используют полные ссылки?