Heim >Backend-Entwicklung >C++ >Wie schließe ich Eigenschaften von der Automapper-Zuordnung aus, wenn Zieleigenschaften nicht vorhanden sind?

Wie schließe ich Eigenschaften von der Automapper-Zuordnung aus, wenn Zieleigenschaften nicht vorhanden sind?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-27 14:46:09837Durchsuche

How to Exclude Properties from Automapper Mapping When Destination Properties Don't Exist?

Eigenschaften von der Automapper-Zuordnung ausschließen

Bei der Verwendung von Automapper für die Objekt-zu-Objekt-Zuordnung ist es wichtig, nicht vorhandene Eigenschaften im auszuschließen Zielmodell. In Ihrem Szenario ist die Eigenschaft „ProductName“ im OrderModel nicht in der Datenbankentität „Orders“ vorhanden. Das Zuordnen dieser Eigenschaft führt zu einer Ausnahme.

Lösung: Verwenden von Ignore()

Um diese Situation zu bewältigen, können Sie mit der Ignore()-Methode von Automapper bestimmte Eigenschaften angeben, die sollte nicht kartiert werden. So können Sie es verwenden:

Mapper.CreateMap<OrderModel, Orders>()
        .ForMember(x => x.ProductName, opt => opt.Ignore());

Durch Hinzufügen des ForMember()-Ausdrucks mit Ignore() weisen Sie Automapper an, die Eigenschaft „ProductName“ während des Zuordnungsprozesses zu ignorieren. Dadurch kann der Zuordnungsvorgang fortgesetzt werden, ohne dass die Ausnahme ausgelöst wird.

Andere Optionen

Automapper bietet auch alternative Methoden, um Eigenschaften von der Zuordnung auszuschließen:

  • Projektion auf das Ziel: Dieser Ansatz beinhaltet die Erstellung einer benutzerdefinierten Zuordnung für das Zielmodell und die explizite Angabe der Eigenschaften dafür include.
  • Partielle Übereinstimmung: Standardmäßig verwendet Automapper die exakte Eigenschaftsübereinstimmung. Sie können dieses Verhalten deaktivieren und einen teilweisen Abgleich zulassen, indem Sie nur die Eigenschaften zuordnen, die sowohl im Quell- als auch im Zielmodell vorhanden sind.

Denken Sie daran, beim Ausschließen von Eigenschaften aus Automapper-Zuordnungen sicherzustellen, dass Ihr Code das Fehlen dieser Eigenschaften berücksichtigt Eigenschaften im Zielmodell.

Das obige ist der detaillierte Inhalt vonWie schließe ich Eigenschaften von der Automapper-Zuordnung aus, wenn Zieleigenschaften nicht vorhanden sind?. 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