AutoMapper - Was ist der Unterschied zwischen Condition und PreCondition?

8

Angenommen eine Zuordnung mit AutoMapper wie unten:

%Vor%

Was ist der Unterschied der Ersatzbedingung durch PreCondition:

%Vor%

Was ist der praktische Unterschied zwischen diesen beiden Methoden?

    
Gean Ribeiro 17.11.2016, 15:18
quelle

1 Antwort

7

Der Unterschied besteht darin, dass PreCondition vor dem Eingeben des Quellwerts und des Bedingungsprädikats ausgeführt wird. In diesem Fall wird also das PreCondition-Prädikat ausgeführt, bevor der Wert von MyProperty abgerufen wird, und dann der Wert from Eigenschaft wird ausgewertet und schließlich wird Condition ausgeführt.

Im folgenden Code können Sie dies sehen

%Vor%

Die Ausgabe von diesem Programm ist:

%Vor%

Da die Condition-Methode eine Überladung enthält, die eine ResolutionContext-Instanz mit einer Eigenschaft namens SourceValue empfängt, wird der Eigenschaftswert aus source ausgewertet, um die SourceValue-Eigenschaft für das ResolutionContext-Objekt festzulegen.

ACHTUNG:

Dieses Verhalten funktioniert ordnungsgemäß bis zur Version & lt; = 4.2.1 und & gt; = 5.2.0.

Bei den Versionen zwischen 5.1.1 und 5.0.2 funktioniert das Verhalten nicht mehr richtig.

Die Ausgabe in diesen Versionen ist:

%Vor%     
Alberto Monteiro 17.11.2016, 18:21
quelle

Tags und Links