AutoMapper: erstellen Sie eine Instanz der Ziel-Typ, wenn Quelle == null
Ist es möglich zu konfigurieren, AutoMapper, um wieder eine neue Instanz des Ziel-Typ, wenn das source-Objekt null ist?
Source source = null;
Dest d1 = AutoMapper.Mapper.Map<Source, Dest>(source);
//d1 == null
//I'm looking for a way to configure AutoMapper to
//eliminate this code:
Dest d2 = AutoMapper.Mapper.Map<Source, Dest>(source) ?? new Dest();
- wickeln Sie es in eine Methode oder sowas
Du musst angemeldet sein, um einen Kommentar abzugeben.
Beantwortung meiner eigenen Frage (teilweise):
AutoMapper hat eine Konfiguration Eigenschaft namens
AllowNullDestinationValues
dietrue
standardmäßig. Durch die Einstellung diesesfalse
, bekomme ich das Verhalten gezeigt, in der Frage, e.g:Diese Lösung funktioniert OK für simple-Datentypen, in denen Quell-und Ziel-Typen anzeigen gut. Ich habe noch einige Probleme mit komplexen mappings (ich werde zu aktualisieren, die Frage an einem Beispiel).
Können Sie auch
.NullSubstitute()
zu ersetzen NULL-Wert, um einen benutzerdefinierten Wert für jede Eigenschaft in Automapper, z.B.: