Привязка модели ASP.NET MVC и конструктор по умолчанию - PullRequest
1 голос
/ 07 февраля 2011

Как связать мой объект домена Car с View?

MVC говорит, что "ваш класс должен иметь конструктор по умолчанию".Но я не хочу менять бизнес-правила, создавая конструктор по умолчанию.Единственное решение, которое я вижу, - это использовать CarView в моем View, а затем сопоставить его с Car.

PS NHibernate тоже хочет иметь конструктор по умолчанию, но его можно защитить.Это я могу сделать.

Ответы [ 2 ]

1 голос
/ 07 февраля 2011

Вы можете создать объект самостоятельно и вызвать UpdateModel для выполнения привязки:

public ActionResult MyAction()
{
   var car = new MyCar(somethingToPassIntoTheConstructor);

   UpdateModel(car);

   // Do stuff with car.
}
1 голос
/ 07 февраля 2011

ИМХО, это хорошая идея отделить объекты, которые попадают на ваш взгляд, от ваших доменных объектов. У этого есть длинный список преимуществ (которые я не буду сейчас рассматривать).

Затем вы можете использовать Automapper , чтобы сопоставить модели представлений вашим объектам домена

...