1
我使用的Unity應用程序塊與UnityMvc一起使用。我有一個控制器名爲HomeController的是有一個動作:Unity:爲此對象定義的無參數構造函數
public ActionResult Add(UnitOfWork UnitOfWork)
{
Person p = new Person();
p.Code = "1202";
p.City = new City() { Code = "21", Name = "Paris" };
UnitOfWork.Save();
ViewBag.Message = "Done.";
return View();
}
的UnitOfWork參數有這樣的構造:
public UnitOfWork(Context Context)
{
this.context = Context;
}
和 「保存」 的方法:
public void Save()
{
this.context.SaveChanges();
}
當團結的嘗試爲「添加」操作構造UnitOfWork對象時,它會產生以下錯誤:
沒有爲此對象定義的無參數構造函數。
它看起來像UnitOfWork是一個參數本身的「添加」行動,它應該有一個無參數的構造函數。
這是真的還是任何機構都有解決方案?
請顯示您的構造函數。另外請注意,您通常不能也不應該通過操作方法注入服務。您應該使用構造函數。 – Steven
是的,問題在於構造函數的缺失。模型聯編程序負責構建操作參數對象。 – user2653400
您可以編寫自定義ModelBinder以創建一個沒有無參數構造函數的類型。 –