В дополнение к тому, что сказал Самуил, вам нужно убедиться, что никто не введет запись, которая может вступить в конфликт с вашей записью, между вашей проверкой и добавлением записи в базу данных.Вы могли бы добиться этого с помощью блокировки, но затем вы должны ловить исключения, вызванные блокировкой.
Что касается дублирования содержимого в бизнес-правилах и базе данных, я за то, чтобы база данных хабировалась кактребуется проверка на соответствие, даже если это дублирует некоторые вещи на бизнес-уровне.Чем жестче заблокирована ваша база данных против недействительных данных, тем лучше.Он защищает вас от доступа к вашей базе данных с помощью других инструментов, отличных от вашего приложения, таких как сотрудник службы поддержки, вносящий изменения в базу данных с помощью SSMS для устранения проблемы с данными, о которой сообщил пользователь.