Ich habe zwei Klassen (MVC-View-Modell), die von einer abstrakten Basisklasse erbt.Automapper mit Basisklasse und verschiedenen Konfigurationsoptionen für Implementierungen
abstract class BaseModel { }
class Car : BaseModel
{
public string Speed { get; set; }
}
class Camper : BaseModel
{
public int Beds { get; set; }
}
und will AutoMapper mit der Basisklasse konfigurieren, so etwas wie:
Mapper.CreateMap<BaseModel, DataDestination>();
var someObj = new DataDastination();
Mapper.Map(instanceOfBaseModel, someObj);
Hier ist Fehler erhalten, weil AutoMapper nicht Konfiguration von Auto oder Camper hat. Versucht, Automapper mit etwas in der Art zu konfigurieren:
Mapper.CreateMap<BaseModel, DataDestination>()
.ForMember(dest => dest.SomeProp, mapper => mapper.MapFrom(....));
In MapFrom, sehe ich nur Eigenschaften aus der Basisklasse! Wie konfiguriert man den Automapper für die Verwendung von BaseClass und den spezifischen ForMember-Ausdruck für Car und Camper? Zum Beispiel, wenn es ein Auto ist, mappieren Sie diese Eigenschaft von diesem, und wenn es ein Camper ist, ordnen Sie diese Eigenschaft von woanders an.
Nicht für eine ähnliche Situation gearbeitet erklärt auf [von Viewmodel ApplicationUser in AutoMapper nicht 5 abbilden] (http://stackoverflow.com/questions/39541588/cannot -map-from-viewmodel-to-applicationBenutzerautomatik-5? noredirect = 1 # comment66397101_39541588). Irgendeine Idee? –