In AutoMapper können Sie den gleichen Wert Resolver auf mehrere Mitglieder anwenden

8

Ich habe einen Mapping-Code wie folgt

%Vor%

Wie Sie sehen können, mappe ich mehrere Mitglieder mit demselben Resolver, um eine ganze Zahl in eine formatierte Währungszeichenfolge zu konvertieren. Ich mache das für die große Mehrheit, aber nicht alle Mitglieder meiner Poco-Klasse.

Alle diese Elemente würden mithilfe von konventionsbasiertem Mapping zugeordnet, wenn diese Typen nicht wiederholt werden müssten. Es ist eine riesige Menge an Code für eine einfache Aufgabe zu schreiben.

Gibt es eine Möglichkeit, das Standardverhalten zum Konvertieren eines int in eine Zeichenfolge für eine einzelne Map zu überschreiben, und dann benutzerdefinierte .ForMembers, wo ich etwas anderes möchte. Wie das:

%Vor%     
Twisted 27.11.2015, 12:08
quelle

2 Antworten

-1

Sie können denselben Wert-Resolver nicht auf die gleiche Weise auf mehrere Elemente anwenden.

Es kann die Standardzuordnung von int zu string für alle Zuordnungen überschreiben, wie von Georg Patscheider vorgeschlagen, aber dies hat wahrscheinlich schlimmere Nebenwirkungen als das ursprüngliche Problem.

Sie müssen die Zuordnung Zeile für Zeile ausschreiben.

    
Twisted 08.12.2015, 17:14
quelle
4

Sie können die Standardzuordnung als

erstellen %Vor%

Aber Vorsicht, diese Zuordnungsregel wird auf alle ganzen Zahlen angewendet! Das Überschreiben dieser Regel für bestimmte Mitglieder ist wahrscheinlich möglich, aber ich habe es nicht getestet.

PS: Ich empfehle, alle Zuordnungsregeln explizit aufzuschreiben und nicht auf konventionsbasierten Zuordnungen zu vertrauen. Wenn eine Eigenschaft nur auf einer Seite umbenannt wird, bricht die konventionsbasierte Zuordnung ab, aber eine explizite Regel kann von der IDE automatisch umstrukturiert werden.

    
Georg Patscheider 27.11.2015 15:38
quelle

Tags und Links