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以创建一个没有无参数构造函数的类型。 –