Я пытаюсь работать над примером примера для сопоставления CustomerViewItem (Source) и Customer (Destination).Объект в Automapper возвращает null
Вот исходные Сущности, что я пытаюсь сопоставить
public class CustomerViewItem
{
public CompanyViewItem companyViewItem { get; set; }
public string CompanyName { get; set; }
public int CompanyEmployees { get; set; }
public string CompanyType { get; set; }
public string FullName { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public DateTime DateOfBirth { get; set; }
public int NumberOfOrders { get; set; }
public bool VIP { get; set; }
}
public class Customer
{
public Company company { get; set; }
public string CompanyName { get; set; }
public int CompanyEmployees { get; set; }
public string CompanyType { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public DateTime DateOfBirth { get; set; }
public int NumberOfOrders { get; set; }
public bool VIP { get; set; }
}
public class Address
{
public string TempAddress { get; set; }
public string PermAddress { get; set; }
}
public class Company
{
public string Name { get; set; }
public int Employees { get; set; }
public string Type { get; set; }
public Address address { get; set; }
}
public class CompanyViewItem
{
public string Name { get; set; }
public int Employees { get; set; }
public string Type { get; set; }
public Address address { get; set; }
}
Теперь для CustomerViewItem Сущности, я добавил некоторые примеры значений. Поскольку CompanyViewItem в CustomerViewItem класс, который в свою очередь был класс, я добавил значения таким образом
companyViewItem = new CompanyViewItem() { address = new Address { PermAddress = "pAdd", TempAddress = "tAdd" }, Employees = 15, Name = "name", Type = "abc" }
Теперь вот мой AutoMapper код:
Mapper.CreateMap<CustomerViewItem, Customer>();
CustomerViewItem customerViewItem = GetCustomerViewItemFromDB();
Customer customer = Mapper.Map<CustomerViewItem,Customer>customerViewItem);
Все работает нормально, но , только компания в возвращении null. Я тоже попробовал и наоборот, то же самое возвращает null. Может ли кто-нибудь помочь мне с этим?
Вы используете 'Mapper.AssertConfigurationIsValid();'? Это * должно * улавливать несоответствия –
Это не связано непосредственно с вашим вопросом, но я бы серьезно рекомендовал проверить «утиную типизацию» и «глину» в частности. По сути, это то, что «Automapper» делает под капотом («динамический прокси-подобный материал»), но вы можете пропустить все это безумие отображения. Производительность может быть медленнее или быстрее, это зависит от глубины и размера графика объекта (~ 1 миллион записей будет неэффективным, просто чтобы вы знали). – code4life
@ Invent-Animate: я использовал это, оно выбрасывает исключение, которое гласит: «Следующие свойства для Клиента не отображаются: Компания Добавить настраиваемое выражение отображения, игнорировать или переименовать свойство в CustomerViewItem» – Vivek