Моя база данных sql не позволяет добавлять 2 записи с одинаковым номером.Если я попытаюсь создать запись с ранее использованным номером или отредактировать запись, чтобы использовать ранее использованный номер, он не разрешит ее и вернется на страницу редактирования / создания со звездочкой в поле номера субподряда.Я хотел бы добавить нарушение правил для этого, чтобы можно было отобразить соответствующее сообщение.Я попытался добавить это:
if (db.subcontracts.Count(s => s.subcontract_no == subcontract_no) > 0)
yield return new RuleViolation("Subcontract number already exists", "subcontract_no");
Когда я писал это, я думал только о методе Create.Проблема здесь в том, что он находит нарушение каждый раз, когда я редактирую запись, даже если subcontract_no не изменилось.Итак, я думаю, мне нужно найти нарушение, когда запись создается и когда редактируется, если subcontract_no изменяется.Но он не может «найти себя» и создать нарушение правил.Как я могу это сделать?