具有基类和实现的不同配置选项的自动映射器

我有两个类(MVC视图模型),它inheritance自一个抽象基类。

abstract class BaseModel { } class Car : BaseModel { public string Speed { get; set; } } class Camper : BaseModel { public int Beds { get; set; } } 

并希望使用基类配置AutoMapper,例如:

 Mapper.CreateMap(); var someObj = new DataDastination(); Mapper.Map(instanceOfBaseModel, someObj); 

在这里我得到错误,因为Automapper没有Car或Camper的配置。 尝试使用以下内容配置Automapper:

 Mapper.CreateMap() .ForMember(dest => dest.SomeProp, mapper => mapper.MapFrom( .... )); 

在MapFrom中,我只看到基类的属性! 如何配置Automapper以使用BaseClass,以及Car和Camper的特定ForMember表达式? 例如,如果它是Car,则从此映射此属性,如果它是Camper,则从其他位置映射此属性。

以下是描述映射inheritance的主题。

以下内容对您有用:

 Mapper.CreateMap() .Include() .Include();//.ForMember(general mapping) Mapper.CreateMap();//.ForMember(some specific mapping) Mapper.CreateMap();//.ForMember(some specific mapping)