如何綁定我的域對象汽車查看?ASP.NET MVC模型綁定和默認構造函數
MVC說「你的類必須有默認構造函數」。但我不想通過創建默認構造函數來更改任何業務規則。我能看到的唯一解決方案是在View中使用CarView,然後將其映射到Car。
P.S. NHibernate也想要一個默認構造函數,但它可以被保護。這我可以做。
如何綁定我的域對象汽車查看?ASP.NET MVC模型綁定和默認構造函數
MVC說「你的類必須有默認構造函數」。但我不想通過創建默認構造函數來更改任何業務規則。我能看到的唯一解決方案是在View中使用CarView,然後將其映射到Car。
P.S. NHibernate也想要一個默認構造函數,但它可以被保護。這我可以做。
恕我直言,它是一個好主意,以分離從你的域對象去你的看法的對象。這有很多好處(我現在不會進入)。
然後可以使用Automapper到您的視圖模型映射到你的域對象
你可以自己創建的對象,並調用的UpdateModel做結合,而不是:
public ActionResult MyAction()
{
var car = new MyCar(somethingToPassIntoTheConstructor);
UpdateModel(car);
// Do stuff with car.
}
我同意 - 你的UI應該工作與視圖模型,而不是您的業務對象。 MVC完全是關於問題的分離。這可能看起來像很多額外的工作,但與Automapper它是花生,並會在以後節省你的悲傷。 – 2011-02-07 18:09:36