Automapper z klasą bazową i różnymi opcjami konfiguracji dla implementacji
Mam dwie klasy (model widoku MVC), który dziedziczy z jednej abstrakcyjnej klasy bazowej.
abstract class BaseModel { }
class Car : BaseModel
{
public string Speed { get; set; }
}
class Camper : BaseModel
{
public int Beds { get; set; }
}
i chcesz skonfigurować AutoMappera z klasą bazową, coś w stylu:
Mapper.CreateMap<BaseModel, DataDestination>();
var someObj = new DataDastination();
Mapper.Map(instanceOfBaseModel, someObj);
Tutaj pojawia się błąd, ponieważ Automapper nie ma konfiguracji samochodu lub kampera. Próbowałem skonfigurować Automapper za pomocą czegoś takiego:
Mapper.CreateMap<BaseModel, DataDestination>()
.ForMember(dest => dest.SomeProp, mapper => mapper.MapFrom( .... ));
W MapFrom widzę tylko właściwości z klasy bazowej! Jak skonfigurować Automapper, aby używał BaseClass i specyficznego wyrażenia ForMember dla samochodów i kamperów? Na przykład, jeśli jest to samochód, zmapuj tę właściwość, a jeśli jest to Camper, zmapuj tę nieruchomość z innego miejsca.