所以我目前的架构是:
控制器
public ActionResult Edit(int id, EmployeeViewModel vm)
{
EmployeeModel m = employeeService.Get(id);
vm = new EmployeeViewModel();
//map model to viewmodel
return View(vm);
}
服务
public EmployeeModel Get(int id)
{
return = employeeRepository.Get(id);
}
我的员工需要有联系人列表。
我应该在EmployeeModel中保留contractmodel列表吗?如果我这样做,我的服务变成:
服务
public EmployeeModel Get(int id)
{
EmployeeModel m = employeeRepository.Get(id);
m.Contracts = contractRepository.GetList(id);
}
或者这应该在控制器中发生吗?如果我这样做,我的控制器会变成:
控制器
public ActionResult Edit(int id, EmployeeViewModel vm)
{
EmployeeModel m = employeeService.Get(id);
vm = new EmployeeViewModel();
//map model to viewmodel
List<ContractModel> lst = contractService.GetList_ByEmployeeID(id);
//map contractmodels to whatever I want in my viewmodel
return View(vm);
}
一般来说,我们是否在模型上保持关联? 您认为最佳做法是什么?