Gibt es eine einfache Möglichkeit, eine einzelne Modelleigenschaft in einem viewModel zuzuordnen? Ich brauche ein paar Requisiten aus dem „outter Modell“ und der Rest aus dem „inneren Modell“ (komplexer Typ) zur Karte ...So modellieren Sie die Modelleigenschaft, um das Modell mithilfe von AutoMapper anzuzeigen
class Car
{
public int Id {get;set;}
public string Name {get;set;}
public virtual CarDetails Details {get;set;}
}
class CarDetails
{
public int Id {get;set;}
public string Model {get;set;}
public DateTime Year {get;set;}
}
class DetailsViewModel
{
public string Name {get;set;}
public string Model {get;set;}
public DateTime Year {get;set;}
}
Dann möchte ich in der Lage sein:
var viewModel = mapper.Map<Car, DetailsViewModel>(car);
ich habe versucht, dies ohne Erfolg kartieren so etwas wie dies mit:
CreateMap<Car, DetailsViewModel>().ForAllMembers(opts => opts.MapFrom(c => c.Details));
PS¹ .: ich bin aw sind die Benennungskonventionen für das Reduzieren von Objekten, möchten aber nicht die Namen des Ansichtsmodells ändern und auch nicht mehrere ForMember-Anweisungen verwenden (mein aktuelles Modell ist viel größer als das aus dem Beispiel).
PS² .: Ich benutze asp.net-core und eine AutoMapperConfig
statische Klasse, um alle Konfiguration zu tun. Ich habe also keinen Zugriff auf die Instanz , bevor ich die Konfigurationen registriere.
verweisen auf die erste Beobachtung meiner Frage –