Automapper con clase base y diferentes opciones de configuración para implementaciones.

Tengo dos clases (modelo de vista MVC) que se hereda de una clase base abstracta.

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

y desea configurar AutoMapper con clase base, algo como:

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

Aquí me sale un error, porque Automapper no tiene configuración de Car o Camper. Intenté configurar Automapper con algo como esto:

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

En MapFrom, solo veo propiedades de la clase base! ¿Cómo configurar Automapper para usar BaseClass y la expresión ForMember específica para Car and Camper? Por ejemplo, si es un Coche, asigne esta propiedad a partir de esto, y si es un Camper, asigne esta propiedad desde otro lugar.

Aquí está el tema que describe la herencia de mapeo .

Lo siguiente debería funcionar para usted:

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