如何使用 Automapper 将两个不同的类映射到一个 ViewModel 中?
我正在使用 C# 和 Razor 开发 ASP.NET MVC3 应用程序。应用程序的架构分为数据访问层(EF 类 + 存储库)、服务层、控制器、视图模型和视图。
在控制器中,我从服务层获取:
从方法
Product GetProduct(id)
,一个Product
对象,其中包含有关要显示的产品的所有信息在视图中从方法
Filter GetFilter()
中Filter
对象,包含用于搜索过滤器的所有信息,例如从下拉列表中选择的产品列表等...
现在,如果我使用 AutoMapper,我该如何映射这些信息在 SelectProductViewModel
类中?
public class SelectProductViewModel
{
public Product ProductToDisplay { get; set; }
public Filter SearchFilter { get; set; }
}
I am developing an ASP.NET MVC3 application in C# and Razor. The architecture of the application is divided in Data Access Layer (EF classes + Repository), Service Layer, Controller, ViewModels and View.
In the controller I obtain from my Service Layer:
From the method
Product GetProduct(id)
, aProduct
object which contains all the information about a product to be displayed in the ViewFrom the method
Filter GetFilter()
aFilter
object that contains all the info that are used for the search filter such list of products to be chosen from a dropdownlist, etc...
Now if I use AutoMapper how can I map these information in a SelectProductViewModel
class?
public class SelectProductViewModel
{
public Product ProductToDisplay { get; set; }
public Filter SearchFilter { get; set; }
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
AutoMapper 用于在单个源类型到单个目标类型之间进行映射。您不能在这种情况下使用它。所以它可以很简单:
AutoMapper is used to map between a single source type to a single destination type. You cannot use it in this context. So it could be as simple as: