Asp.net mvc和服务/存储库模式

时间:2018-02-15 11:11:46

标签: asp.net asp.net-mvc repository-pattern service-layer

所以我目前的架构是:

  • 控制人员与服务人员交谈。
  • 服务与存储库对话。
  • 映射到viewmodel正在控制器中进行。

控制器

 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);
    }

一般来说,我们是否在模型上保持关联? 您认为最佳做法是什么?

0 个答案:

没有答案