0

假设我在业务层中有这样的类:

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; }
    }
}

如何将业务层中的订单类映射到模型层中的订单类?我试过这个:

Mapper.Initialize(cfg => 
                {
                    cfg.CreateMap<Order, OrderModel>();
                    cfg.CreateMap<OrderModel, Order>();
                });

由于 Order 类中的 OrderItem 属性,它不起作用。如果我删除 OrderItem 属性,那么它可以工作。如何在映射中包含 orderitem 属性。

我正在使用 Automapper 6.02 版。

4

1 回答 1

1

由于名称匹配,因此没有理由不自动映射集合。到目前为止,我看到,您已经错过了和之间的OrderItem映射OrderItemModel

Mapper.Initialize(cfg => 
            {
                cfg.CreateMap<OrderItem, OrderItemModel>();
                cfg.CreateMap<OrderItemModel, OrderItem>();
                cfg.CreateMap<Order, OrderModel>();
                cfg.CreateMap<OrderModel, Order>();                                 
            });
于 2017-05-12T18:38:11.437 回答