Heim >Backend-Entwicklung >C++ >Wie ignoriere ich nicht zugeordnete Eigenschaften in AutoMapper?

Wie ignoriere ich nicht zugeordnete Eigenschaften in AutoMapper?

Barbara Streisand
Barbara StreisandOriginal
2025-01-03 18:39:41447Durchsuche

How to Ignore Unmapped Properties in AutoMapper?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn