我正在开发一个具有以下N层结构的mvc应用程序:
数据访问 知识库 楷模 BusinessLogic
在我的BusinessLogic文件夹中,我有一个接口IClinicBusiness
和一个与IClinicBusiness接口的类ClinicBusiness
。
ClinicBusiness类如下:
public void AddClinic(Clinic c)
{
var cr = new ClinicRepository();
var clinc = new Clinic();
if (c != null)
{
clinc.ClinicName = c.ClinicName;
clinc.ClinicLocation = c.ClinicLocation;
}
cr.InsertClinic(c);
cr.Save();
}
}
ClinicBusiness
类实现了Repository类库中的方法,例如。 InsertClinic();
public ClinicRepository()
{ }
public ClinicRepository(DataContext clinics)
{
this.clinic = clinics;
}
public IEnumerable<Clinic> GetClinics()
{
return clinic.Clinics.ToList();
}
public Clinic GetClinicByID(int ClinicId)
{
return clinic.Clinics.Find(ClinicId);
}
public void InsertClinic(Clinic c)
{
clinic.Clinics.Add(c);
}
在我的控制器中,我有一个动作
public ActionResult CreateClinic(Clinic c)
{
var clinicBusiness = new ClinicRepository();
return View(clinicBusiness.InsertClinic(c));
}
我得到以下错误无法从'void'转换为'object'
有人可以指导我吗?
答案 0 :(得分:0)
根据您的要求,我认为您希望将存储库InsertClinic
方法更改为
public Clinic InsertClinic(Clinic c)
{
clinic.Clinics.Add(c);
return c;
}
或将您的操作更改为
public ActionResult CreateClinic(Clinic c)
{
var clinicBusiness = new ClinicRepository();
clinicBusiness.InsertClinic(c)
return View(c);
}
同样,它只取决于你想要完成什么以及你的视图模型。