Inheritance 自动映射继承

Inheritance 自动映射继承,inheritance,mapping,automapper-3,Inheritance,Mapping,Automapper 3,Automapper文档中有一个继承示例,如下所示: public class Order { } public class OnlineOrder : Order { } public class MailOrder : Order { } public class OrderDto { } public class OnlineOrderDto : OrderDto { } public class MailOrderDto : OrderDto { } Mapper.CreateMap

Automapper文档中有一个继承示例,如下所示:

public class Order { }
public class OnlineOrder : Order { }
public class MailOrder : Order { }

public class OrderDto { }
public class OnlineOrderDto : OrderDto { }
public class MailOrderDto : OrderDto { }

Mapper.CreateMap<Order, OrderDto>()
    .Include<OnlineOrder, OnlineOrderDto>()
    .Include<MailOrder, MailOrderDto>();
Mapper.CreateMap<OnlineOrder, OnlineOrderDto>();
Mapper.CreateMap<MailOrder, MailOrderDto>();
因此,您可以看到,现在域对象不使用继承,而只是像标准关系数据库一样彼此链接。但我仍然希望DTO对象使用继承。在这个例子中,我将如何使用Automapper

// Domain models in Entity Framework
public class Order
{
  public virtual OnlineOrder OnlineOrder { get; set; }
  public virtual MailOrder MailOrder { get; set; }
}

public class OnlineOrder
{
  public virtual Order Order { get; set; }
}

public class MailOrder 
{ 
  public virtual Order Order { get; set; }
}

// My DTOs
public class OrderDto { }
public class OnlineOrderDto : OrderDto { }
public class MailOrderDto : OrderDto { }