Ich habe versucht, etwas Ähnliches zu AutoMapper Custom MappingsAutoMapper Mapping oder ignorieren
aber was ich wirklich will, ist nicht auf eine andere Eigenschaft abzubilden, aber es ignorieren.
Ich habe versucht:
.ForMember(m=>m.BillingAddress,m=>m.ResolveUsing((result, card) => {
if (!string.IsNullOrEmpty(card.BillingDetails?.Address1)) {
return card.BillingDetails.Address1;
}
else {
return result.Ignore();
}
}))
aber dies stellt nur eine Art von Auflösung Ergebnis auf die Eigenschaft i abzubilden bin versucht.
Was ich wirklich tun möchte, ist, was ich in dieser Frage zu stellen versucht:
https://github.com/AutoMapper/AutoMapper/issues/1690
dh
.ForMember(m=>m.BillingAddress, m=>{
m.Condition(s=>!String.IsNullOrEmpty(s.BillingDetails?.Address1), m.MapFrom(...), m.Ignore())
}
jetzt alles es nulling heraus, dass ich in diesen Bereichen haben wenn ich die .condition und eine .MapFrom danach verwende.
Ich denke, das ist ein Anti-Muster, weil Mapper stumm sein sollen, und somit möglicherweise die Versuchung des Setzens zu viel Logik in ihnen zu widerstehen wollen. –
würden Sie einfach verschiedene Konfigurationen für mögliche Änderungen der Logik erstellen? – brentlyjdavid