我们假设我们有以下类层次结构
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);