using System.Collections.Generic;
public static void Main()
var config = new MapperConfiguration(cfg =>
cfg.CreateMap<InputModel, DomainModel>()
.ForMember(dest => dest.UserCustomerMapping, opt => new List<UserCustomerMapping>())
.ForMember(dest => dest.UserCustomerMapping, opt => { opt.PreCondition(src => (src.C != null));
opt.MapFrom(src => new List<UserCustomerMapping>() { new UserCustomerMapping { Role = new Role(new Guid((src.C))) }});
IMapper mapper = config.CreateMapper();
var domainModel = new DomainModel
UserCustomerMapping = new List<UserCustomerMapping>()
{ new UserCustomerMapping { Role = new Role { Id = new Guid("00000000-0000-0000-0000-000000000001"), Name = "BeforeChangeC" } } }
InputModel src = new InputModel
C = "00000000-0000-0000-0000-000000000002"
mapper.Map(src, domainModel);
Console.WriteLine(JsonConvert.SerializeObject(domainModel, new JsonSerializerSettings { Formatting = Formatting.Indented }));
public string A {get; set;}
public string B {get; set;}
public string C {get; set;}
public string A {get; set;}
public string B {get; set;}
public List<UserCustomerMapping> UserCustomerMapping {get; set;}
class UserCustomerMapping
public Role Role {get; set;}
public Guid Id {get; set;}
public string Name {get; set;}
Name = "SetInConstructor";