2009-11-18 2 views
0

У меня есть проект в Asp net mvc. Объект, называемый продуктом, не может иметь похожие заголовки. Поскольку я следую примеру репозитория, где лучше всего проверять дублирование?проверка дублирования названия объекта

Я могу сделать это в контроллере, но это приведет к толстому контроллеру.

ответ

1

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

Насколько соблюдение правила в коде, как вы в настоящее время обрабатываете валидацию? Это определенно относится к этой категории.

1

Предполагаю, что вы используете сервер БД? Поместите уникальное ограничение на столбец БД. Выполнение этого в репозитории или контроллере представляет проблемы параллелизма (другая транзакция, которую вы не видите, так как она еще не выполнена, могла бы уже вставить дублирующее значение). С этим можно наблюдать ограничения.

+0

На самом деле я использую DDD и LinQ. мы используем метод createDatabase, и я не могу принудительно использовать уникальное ограничение из dbml. – Tinku

+0

. Сервер БД будет применять ограничение. Вам не нужно переопределять функциональность сервера БД. –

Смежные вопросы