假设我们有以下类层次结构
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;}
}
我还有一个服务,它返回一个真正包含 A1 和 A2 实例的 DtoBaseClass 数组。我应该如何将此数组映射到 DomainClass 实例数组并保存 B1 <-> A1、B2 <-> B1 之间的关系?
在默认配置中,我将获得一个 DomainClass 数组并释放派生类的所有属性。
我使用此代码进行映射:
var dtoToDomainMapper =
ObjectMapperManager.DefaultInstance.GetMapper<DtoClasss[], DomainClass>();
var dtoObjects = externalService.GetObjects();
return dtoToDomainMapper.Map(dtoObjects);