假设我在业务层中有这样的类:
Namespace Business
{
public class Order
{
public int ID { get; set; }
public List <OrderItem> OrderItems { get; set; }
}
public class OrderItem
{
public int ID { get; set; }
public int ProductID { get; set; }
}
}
and classes like this in a Model layer:
Namespace Model
{
public class OrderModel
{
public int ID { get; set; }
public List <OrderItem> OrderItems { get; set; }
}
public class OrderItemModel
{
public int ID { get; set; }
public int ProductID { get; set; }
}
}
如何将业务层中的订单类映射到Model层中的Order类?我试过这个:
Mapper.Initialize(cfg =>
{
cfg.CreateMap<Order, OrderModel>();
cfg.CreateMap<OrderModel, Order>();
});
由于Order类中的OrderItem属性,它不起作用。如果我删除OrderItem属性,那么它的工作原理。如何在映射中包含orderitem属性。
我使用的是Automapper 6.02版。
答案 0 :(得分:1)
由于名称匹配,因此没有理由不自动映射集合。到目前为止,我看到,您错过了OrderItem
和OrderItemModel
Mapper.Initialize(cfg =>
{
cfg.CreateMap<OrderItem, OrderItemModel>();
cfg.CreateMap<OrderItemModel, OrderItem>();
cfg.CreateMap<Order, OrderModel>();
cfg.CreateMap<OrderModel, Order>();
});