假设我有用于用户注册的 RegisterModel 和一些实现 IUserService 的 UserService
public interface IUserService
{
User CreateUser(User newUser);
}
[HttpPost]
public ActionResult Register(RegisterModel model)
{
if (ModelState.IsValid)
{
// ... logic for newuser
User user = _userService.CreateUser(newuser);
_authenticationService.SetAuthenticatedUser(user);
return RedirectToRoute("Homepage");
}
return View(model);
}
鉴于 RegisterModel 可能非常复杂,将 RegisterModel 映射到 User 对象的逻辑应该在哪里
最佳答案
您永远不会将 View 模型传递给服务。服务甚至不知道您可能在 GUI (ASP.NET MVC) 层中定义的 View 模型的存在。服务与域模型一起工作。我个人使用 AutoMapper在 View 模型和模型之间进行映射,反之亦然,因此该逻辑进入映射层。
关于asp.net-mvc - 如何将复杂的 ViewModel 传递给 ASP.NET MVC 中的服务层?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5053248/