Постоянные проверки уровня - PullRequest
0 голосов
/ 11 мая 2009

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

Проверка может выполняться на уровне бизнес-логики и должна отправляться на уровень постоянства только в случае успеха. Но в некоторых случаях удобно проверять данные при сохранении. Как в хранимой процедуре.

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

В SQL Server мы можем просто вызывать пользовательские исключения, но я хочу делать это без использования исключений. Есть ли уже какие-либо рамки проверки, которые я могу использовать.

Я ищу решение для SQL Server 2005 и .net.


P.S.: Обычно я возвращаю пользовательские коды ошибок из сохраненных процедур, а затем анализирую их, просматривая файл XML и затем использую его в своем механизме правил бизнес-уровня.

1 Ответ

2 голосов
/ 11 мая 2009

Внедрение бизнес-логики в SQL Server может повысить производительность, но усложнит проект, нарушив разделение проблем. Чтобы у меня была портативная бизнес-логика, она должна быть на бизнес-уровне. Я бы удалил логику проверки из хранимых процедур и использовал их только для упрощения операций CRUD. Вы никогда не знаете, когда заинтересованные стороны проекта скажут: «Запустите его на базе данных X!». Постарайтесь сохранить независимость базы данных логики проверки.

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