EF6 DataAnnotations для Entity, EntityDto или обоих? - PullRequest
0 голосов
/ 25 мая 2020

У меня есть поля класса Entity, украшенные аннотациями, такими как [Required, [DisplayFormat, [Display (....

* В настоящее время Dto в основном идентичен Entity, поэтому я был выполнение копирования / вставки, чтобы синхронизировать Dto c с такими вещами, как добавление / удаление полей.

На данный момент это довольно просто сделать копирование / вставку, и все, похоже, работает с аннотациями в обоих файлов. Здесь много полей, и я вижу, что это становится кошмаром для обслуживания.

Следует ли указывать аннотации в классе Dto, как это, или класс Entity обрабатывает это для моих представлений? Может быть, некоторые аннотации должны быть в Entity, а некоторые в Dto?

1 Ответ

0 голосов
/ 25 мая 2020

Аннотации используются в качестве условий для того, чтобы свойства объекта были действительными в определенных условиях.

Итак, если вы отправляете объект в метод.

Обычно не используется для публикации объекта сам, но Dto.

И первое условие, которое он должен пройти, это, например, «ModelState.IsValid».

Так что, если он действителен, продолжите выполнение метода или верните BadRequest.

В заключение я думаю, что очень важно использовать их в Dtos, например, требуется displayFormat et c. потому что вы можете проверить валидацию Dto перед проверкой валидации сущности, и если ваш код достаточно хорош, большинство аннотаций можно исключить из сущности (я не рекомендую это, но вы говорите, что это сбивает вас с толку).

Между тем если вы вносите какие-либо изменения, а не только отображение Dto на объект, вы также должны использовать аннотации для объекта.

Я думаю, вам нужно оценить аннотацию самостоятельно.

У меня их большинство только в Дто.

Надеюсь, я был понятен и помог вам.

...