Давайте предположим, что у нас следующая иерархия классов
class DtoBaseClass
{
public string BaseProperty {get; set;}
}
class A1 : DtoBaseClass
{
public string SomeProperty {get; set;}
}
class A2 : A
{
public string AnotherProperty {get; set;}
}
class DomainClass
{
public string BaseProperty {get; set;}
}
class B1 : DomainClass
{
public string SomeProperty {get; set;}
}
class B2 : DomainClass
{
public string AnotherProperty {get; set;}
}
Также у меня есть служба, которая возвращает массив DtoBaseClass, который действительно содержит экземпляры A1 и A2.Как мне сопоставить этот массив с массивом экземпляров DomainClass и сохранить связь между B1 <-> A1, B2 <-> B1?
В конфигурации по умолчанию я получу массив DomainClass и потеряю все свойства производных классов.
Я использую этот код для отображения:
var dtoToDomainMapper =
ObjectMapperManager.DefaultInstance.GetMapper<DtoClasss[], DomainClass>();
var dtoObjects = externalService.GetObjects();
return dtoToDomainMapper.Map(dtoObjects);