Ignorieren der Zuordnung nicht zugeordneter Eigenschaften mit Automapper
Beim Zuordnen zwischen zwei Klassen mithilfe von Automapper kann es zu Szenarien kommen, in denen eine oder mehrere Eigenschaften vorhanden sind Die Quellklasse ist in der Zielklasse nicht vorhanden. Dies kann während des Zuordnungsprozesses zu Ausnahmen führen.
Betrachten Sie das folgende Beispiel:
class OrderModel { public string ProductName; } class Orders { } CreateMap<OrderModel, Orders>();
In diesem Fall führt der Versuch, das OrderModel der Orders-Klasse zuzuordnen, zu einer Ausnahme, die darauf hinweist Die Eigenschaft ProductName auf OrderModel ist nicht zugeordnet. Um dieses Problem zu beheben und zu verhindern, dass Automapper versucht, nicht zugeordnete Eigenschaften zuzuordnen, können Sie die ForMember-Methode in Kombination mit Ignore verwenden.
CreateMap<OrderModel, Orders>() .ForMember(x => x.ProductName, opt => opt.Ignore());
Durch Angabe von Ignore als Option überspringt Automapper die Zuordnung der ProductName-Eigenschaft . Dadurch kann der Mapping-Prozess ohne Ausnahmen fortgesetzt werden.
Aktualisiert: DoNotValidate statt Ignore
In AutoMapper 8.0 wurde die Option „Ignorieren“ durch „DoNotValidate“ ersetzt. Daher sollte der obige Codeausschnitt wie folgt aktualisiert werden:
CreateMap<OrderModel, Orders>() .ForMember(x => x.ProductName, opt => opt.DoNotValidate());
Das obige ist der detaillierte Inhalt vonWie ignoriere ich nicht zugeordnete Eigenschaften in AutoMapper?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!