2012-12-07 154 views
5

AutoMapper新手问题。AutoMapper:映射子集合

我有一个源和目标DTO具有相同的字段和子集合。 AutoMapper如何映射这些?

简化源和目的地的DTO共享相同的名字:

Customer 
    Orders 
     Invoices 
    CustomerInfo 
+0

你试过了吗?它应该自动映射子集合,只要你有每种类型的地图。 ('订单','发票'等) –

回答

9

尝试

Mapper.CreateMap<Customer, CustomerModel>(); 
Mapper.CreateMap<Orders, OrderModel>(); 
Mapper.CreateMap<Invoices, InvoicesModel>(); 
Mapper.CreateMap<CustomerInfo, CustomerInfoModel>(); 
var mappedModel = Mapper.Map<Customer, CustomerModel>(customer); 

这里是另一个类似的话题:AutoMapper - mapping child collections in viewmodel

+0

这只是很容易! –

+0

当子对象为空时失败。如何处理它? – batmaci