-1

Поскольку общие репозитории могут использоваться для вставки, обновления, удаления и т. Д., Но он ограничен только для простых операций Crud, если я хочу использовать свои общие хранилища для более сложной вставки и поиска, например, для объединения таблиц и извлечения с помощью хранимых процедур , И вставьте данные в несколько таблиц, используя хранимые процедуры, и как я буду обрабатывать их из общих хранилищ?Общий репозиторий ИЛИ хранимые процедуры для взаимодействия с базой данных?

1. Можно ли вызвать хранимые процедуры из моего общего хранилища?

2. Полезно ли использовать общие репозитории + хранимые процедуры?

3. Будет ли он соответствовать критериям поиска комплексных критериев?

+2

Ваш вопрос 2 несколько не подлежит обсуждению. Пожалуйста, задайте более конкретные вопросы. – xidgel

ответ

0

Ваш вопрос должен быть более конкретным, чтобы дать вам правильный ответ, но вот мои два цента:

  1. Да можно вызывать хранимые процедуры из хранилища. Если вы используете Entity Framework, можно сопоставить хранимые процедуры с объектом CLR, который вы можете вызывать из своего репозитория. В зависимости от структуры (или ее отсутствия), которую вы используете, вам нужно будет найти правильный синтаксис для этого.

  2. Лично я бы не использовал этот подход, поскольку я бы предпочел поставить бизнес-логику в бизнес-уровень. Однако в некоторых случаях это определенно будет полезно, например, когда производительность крайне важна или вам нужен полный контроль над вашими запросами или некоторые другие сложные операции.

  3. Имейте в виду, что вы можете использовать LINQ для создания сложных запросов (объединение, упорядочение, фильтрация, агрегатирование, выбор, ..). Некоторые части могут даже быть автоматизированы, как ИНЕКЕ с использованием PredicateBuilder, что позволяет динамически создавать и/или запросы на основе пользовательского ввода, критерии поиска, ..

В общем, да, это возможно, но это все зависит от контекста, в котором вы работаете.