automapper配置自动将实体映射到同一实体

时间:2015-06-17 14:36:35

标签: automapper

有没有办法配置AutoMapper使其自动将实体映射到自身......

我想基本避免这种情况:

    Mapper.CreateMap<Company, Company>();
    Mapper.CreateMap<Car, Car>();
....

1 个答案:

答案 0 :(得分:1)

您可以使用DynamicMap,而无需配置CreateMap:

var companyMapped = Mapper.DynamicMap<Company>(company);
  

DynamicMap调用为源类型创建配置   对象传入指定的目标类型。如果是两种类型   已经映射,AutoMapper跳过这一步(我可以调用   这个例子的DynamicMap多次)。为了安全起见,AutoMapper   将首次验证动态地图的配置   执行,因为它倾向于提供比映射更好的消息   异常。

     

使用DynamicMap,您无​​需配置映射,   但在这一点上,你也失去了单一的好处   AssertConfigurationIsValid调用。在DynamicMap方面,我可以   相当低一点,不做任何映射验证,但我会   而不是因为它的预期用途是一个非常具体的场景。理想   案例是预先配置您的映射,更好   可测试性。