Beim Arbeiten mit Automapper kann es notwendig sein, bestimmte Eigenschaften von der Zuordnung zwischen Quell- und Zielobjekten auszuschließen. Dies kann auftreten, wenn das Zielobjekt schreibgeschützte oder berechnete Eigenschaften enthält, die für die Zuordnung aus der Quelle nicht geeignet wären.
Ein solches Szenario ist, wenn das Quellobjekt (z. B. OrderModel) eine Eigenschaft (ProductName) hat. das im Zielobjekt nicht vorhanden ist (z. B. Bestellungen). Der Versuch, die Zuordnung durchzuführen mit:
Mapper.CreateMap<OrderModel, Orders>();
Führt zu einer Ausnahme, die darauf hinweist, dass die ProductName-Eigenschaft nicht zugeordnet ist.
Um zu verhindern, dass Automapper versucht, die ProductName-Eigenschaft zuzuordnen, verwenden Sie die Funktion Ignore( )-Methode:
CreateMap<OrderModel, Orders>().ForMember(x => x.ProductName, opt => opt.Ignore());
Alternativ wurde in AutoMapper-Versionen nach 8.0 die Ignore()-Methode verwendet ersetzt durch DoNotValidate():
CreateMap<OrderModel, Orders>().ForMember(x => x.ProductName, opt => opt.DoNotValidate());
Durch Angabe der Option Ignore() oder DoNotValidate() schließt Automapper die ProductName-Eigenschaft vom Zuordnungsprozess aus, löst die Ausnahme auf und ermöglicht die erfolgreiche Fortsetzung der Zuordnung.
Das obige ist der detaillierte Inhalt vonWie ignoriere ich Eigenschaften bei AutoMapper-Zuordnungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!