EmitMapper:派生类的映射数组

时间:2011-09-02 09:36:16

标签: .net automapper emitmapper

我们假设我们有以下类层次结构

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);

0 个答案:

没有答案