How to configure AutoMapper mapping when I want to use behaviour from UseDestinationValue
method, but only when destination property is NOT null
.>
Had this same problem, but with EF. Cryss' comment about using BeforeMap pointed me in the right direction.
I ended up with code similar to:
In the Configure() method:
Mapper.CreateMap()
.AfterMap((s, d) => { MapDetailsAction(s, d); })
.ForMember(dest => dest.Details, opt => opt.UseDestinationValue());
Then the Action:
Action MapDetailsAction = (source, destination) =>
{
if (destination.Details == null)
{
destination.Details = new Details();
destination.Details =
Mapper.Map(
source.Details, destination.Details);
}
};