Модель связывания сущности без сеттеров - PullRequest
0 голосов
/ 15 февраля 2012

В моем домене у меня есть объекты, которые не имеют установщиков свойств (за исключением нечетного особого случая).Поэтому все значения должны быть переданы через конструктор.

Проблема в том, что теперь, когда я использую доменные сущности в качестве модели для моих представлений CREATE, когда механизм связывания пытается связать поля формы смодель, она выдает ошибку No parameterless constructor defined for this object.

Что было бы лучшим способом обойти это.Я могу подумать о следующем:

  1. Создать связыватель новой модели ???
  2. Создать сопоставитель для каждой сущности, используемой в представлении, которая преобразует FormCollection в сущность.
  3. Создайте представление сущности ViewModel и сопоставьте его с исходным классом сущностей перед отправкой из MVC на мой уровень обслуживания.
  4. Рефакторинг сущностей для включения сеттеров.

Я действительно не хочу открывать свои сущности, включая сеттеры.У кого-нибудь есть советы?Самый простой / чистый способ идеален.

1 Ответ

1 голос
/ 15 февраля 2012

Самый чистый / рекомендуемый / защищенный от ошибок / простой в обслуживании способ сделать это - 3.Создать ViewModel . ViewModel будет иметь только поля, необходимые для создания представления. Вы подтверждаете это, конвертируете в доменные модели (возможно, используя AutoMapper ) и отправляете на уровень обслуживания.

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