В приложении ASP.NET у меня есть небольшое количество довольно сложных, часто используемых операций для выполнения с базой данных. В этих операциях одна или несколько таблиц нуждаются в обновлениях или вставках на основе логической оценки как входных параметров, так и значений определенных таблиц. Я сохранил разделение логики и доступа к данным, поэтому операция в настоящее время выглядит следующим образом:
- Запрос получен от клиента
- Бизнес-уровень вызывает уровень данных для извлечения данных из
базы данных
- Результат процессов бизнес-уровня и
определяет, какая операция
выполнение
- Бизнес-уровень вызывает соответствующий
операция с данными
- Ответ отправлен клиенту
Как видите, клиент продолжает ждать, пока к базе данных поступают два отдельных запроса. В поисках решения этой проблемы я нашел хранимые процедуры CLR, но не уверен, правильно ли я понял, для чего они полезны.
Я написал замену вышеприведенному коду, который особенно помещает шаги 2-4 в CLR SP. Насколько я понимаю, SP будет выполняться локально SQL Server, и в результате на сервер будет сделан только один вызов.
Мой вопрос в основном, это предполагаемое использование SP CLR или я что-то упустил?
Я понимаю, что это структурный компромисс, поэтому, если есть лучший способ сделать это, я бы с удовольствием его услышал.