我正在用C#和Razor开发一个ASP.NET MVC3应用程序。应用程序的体系结构分为数据访问层(EF类+存储库),服务层,控制器,ViewModel和View。
在我从服务层获取的控制器中:
从方法Product GetProduct(id)
,Product
对象,其中包含有关要在视图中显示的产品的所有信息
从方法Filter GetFilter()
一个Filter
对象,其中包含用于搜索过滤器的所有信息,例如从下拉列表中选择的产品列表等......
现在,如果我使用AutoMapper,我如何在SelectProductViewModel
类中映射这些信息?
public class SelectProductViewModel
{
public Product ProductToDisplay { get; set; }
public Filter SearchFilter { get; set; }
}
答案 0 :(得分:1)
AutoMapper用于将单个源类型映射到单个目标类型。您无法在此上下文中使用它。所以它可以很简单:
var model = new SelectProductViewModel
{
ProductToDisplay = service.GetProduct(id),
SearchFilter = service.GetFilter()
};