Как заставить AutoMapper создать экземпляр класса
У меня есть следующий тип источника:
public class Source
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string Address1 { get; set; }
public string Address2 { get; set; }
public string City { get; set; }
public string State { get; set; }
public string ZipCode { get; set; }
}
У меня есть следующие типы назначения:
public class Destination
{
public string FirstName { get; set; }
public string LastName { get; set; }
public Address HomeAddress { get; set; }
}
public class Address
{
public string Address1 { get; set; }
public string Address2 { get; set; }
public string City { get; set; }
public string State { get; set; }
public string PostalCode { get; set; }
}
Я создал сопоставление:
Mapper.CreateMap<Source, Destination>();
Как мне настроить сопоставление, чтобы он создал экземпляр Address и сопоставил свойство Address.PostalCode с использованием свойства Source ZipCode?
Ответы
Ответ 1
В AfterMap вы можете указать, как отображать объекты дальше после того, как AutoMapper выполнил его сопоставление.
Mapper.CreateMap<Source, Destination>()
.AfterMap((src, dest) =>
{
dest.HomeAddress = new Address {PostalCode = src.ZipCode};
}
);