Как проверить периоды времени дочерних объектов, не перекрывающиеся в EF4.2? - PullRequest
0 голосов
/ 24 ноября 2011

У меня есть настройка EF4.2 (сначала база данных) с моим сайтом MVC3. У меня к сущностям крепеж и крепежный период. Периоды фиксации имеют даты начала и окончания.

Мне нужно разрешить клиенту добавлять / редактировать периоды фиксации в одном представлении на моем сайте MVC3.

У меня это работает. Мне также удалось проверить, что даты начала / окончания периода фиксации находятся в правильном порядке. Я сделал это в частичном классе периода фиксации реализации IValidateObject. Однако теперь мне нужно проверить, что сами периоды фиксации не пересекаются друг с другом.

Как я должен обеспечить, чтобы периоды не пересекались? Где я должен проверить это? Я собирался сделать это на уровне ViewModel (что казалось легким), однако это кажется проблемой на уровне домена. Должно ли оно быть в сущности, хранилище, сервисном слое?

Любой совет?

Спасибо

1 Ответ

0 голосов
/ 08 марта 2012

Ответ заключался в создании после триггера в базе данных для вставки и обновления.Если строки перекрывались, я выдавал ошибку и откатывал вставку.Затем я перехватил исключение SQL для SaveChanges в контексте объекта и обработал его, добавив ошибку в ModelState.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...