Lia*_*amB 5 architecture asp.net-mvc
标题几乎解释了这一切,它是我努力工作到项目的最后一件事.我们使用服务库构建,其中包含类似的功能.
/// <summary>
/// Returns a single category based on the specified ID.
/// </summary>
public Category GetCategory(int CategoryID)
{
var RetVal = _session.Single<Category>(x => x.ID == CategoryID);
return RetVal;
}
Run Code Online (Sandbox Code Playgroud)
现在Category是一个实体(我们正在使用实体框架),我们需要将其转换为CategoryViewModel.
现在,人们将如何构建这个?你会确保服务函数返回一个CategoryViewModel?让控制器从服务中提取数据,然后调用另一个函数来调用视图模型?
这是我写的博客文章的摘录:
[AutoMap(typeof(IEnumerable<User>), typeof(IEnumerable<UserViewModel>))]
public ActionResult Index()
{
// return all users
IEnumerable<User> users = Repository.GetUsers();
return View(users);
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,相应的视图被强类型化为IEnumerable<UserViewModel>。它使用AutoMapper来定义实体和视图模型之间的转换规则。至于[AutoMap]属性,它是一个自定义操作过滤器,它检查传递给视图的模型并应用适当的转换,以便视图只有视图模型。
| 归档时间: |
|
| 查看次数: |
1371 次 |
| 最近记录: |