Для такого рода проверки я бы позволил базе данных делать то, что она уже делает так хорошо. Убедитесь, что ваша база данных имеет уникальное ограничение, и пусть она сообщит об ошибке, если вы нарушите ее. Затем вы можете добавить ошибку к ошибкам модели (с хорошим дружелюбным текстом, вместо того, чтобы просто добавить ошибку SQL).
Если вы решили выполнить проверку самостоятельно, вы можете обойти проблему ОБНОВЛЕНИЕ, исключив текущую запись ...
SELECT COUNT(*)
FROM myTable
WHERE myTable.UniqueValue = 'ShouldBeUnique'
AND myTable.Id <> 5
В этом примере вы используете идентификатор обновляемой записи, чтобы не проверять ее, а это означает, что вы просто проверяете другие записи, чтобы узнать, содержат ли они уникальное значение.