Есть ли способ заставить autopper отображать следующее без необходимости сопоставлять каждое свойство или создавать разные модели представления для каждого адреса?
Источник:
public class ViewModel
{
public decimal? BillingAddressLatitude { get; set; }
public string BillingAddressLine1 { get; set; }
public string BillingAddressLine2 { get; set; }
public string BillingAddressLine3 { get; set; }
public decimal? BillingAddressLongitude { get; set; }
public string BillingAddressPostalCode { get; set; }
public string BillingAddressUnit { get; set; }
public long? MailingAddressCityId { get; set; }
public decimal? MailingAddressLatitude { get; set; }
public string MailingAddressLine1 { get; set; }
public string MailingAddressLine2 { get; set; }
public string MailingAddressLine3 { get; set; }
public decimal? MailingAddressLongitude { get; set; }
public string MailingAddressPostalCode { get; set; }
public string MailingAddressUnit { get; set; }
public string Name { get; set; }
}
Направления:
public class Model
{
public Address BillingAddress { get; set; }
public Address MailingAddress { get; set; }
public string Name { get; set; }
}
public class Address
{
public decimal? Latitude { get; set; }
public string Line1 { get; set; }
public string Line2 { get; set; }
public string Line3 { get; set; }
public decimal? Longitude { get; set; }
public string PostalCode { get; set; }
public string Unit { get; set; }
}
Это была моя попытка карты.
CreateMap<ViewModel, Address>();
CreateMap<ViewModel, Model>()
.ForMember(d => d.BillingAddress, o => o.MapFrom(s => s))
.ForMember(d => d.MailingAddress, o => o.MapFrom(s => s));
При этом инициализируются оба адреса, но свойства всегда равны нулю.
Если в любой конфигурации нет автоматического заполнения этих свойств, я приму поражение и сопоставлю каждое свойствоиндивидуально.
Спасибо за ваш вклад.