В примере NerdDinner набор бизнес-правил записывается для проверки данных в модели. Такие вещи, как пустые строки, проверяются, и, вызывая modelObject.GetRuleViolations (), вы можете получить их все. Но есть еще один уровень проверки - база данных. Например, поле datetime оставлено для проверки в базе данных, которая принимает только строку, которая может быть преобразована в объект DateTime.
Проблема, которую я вижу, состоит в том, что modelObject.GetRuleViolations () никогда не возвращает нарушение для datetime. Таким образом, даже если сохранение записи корректно запрещено и форма отображается обратно с указанием ошибки и выделением поля datetime, конкретного сообщения об ошибке нет. Есть ли способ получить ошибки проверки базы данных среди ошибок проверки бизнес-правил?