2017-04-20 53 views
0

我有一个很大的类,有30多个属性,我需要从一个小的类映射到约6个自动映射的属性(相同名称,相同类型)。我不想在映射配置中维护24+ .Ignore()的列表,但是我确实希望能够对我的所有映射运行AutoMapper的验证例程;不过,我并不特别关心这个映射是否得到验证。AutoMapper微型类到大型的验证

我已经尝试过使用ReverseMap和一些Ignore *方法来查看可能的工作。我认为ReverseMap会是个诀窍,但无论是我使用它的方式都是错误的,或者它不会按照我的理解去做。它似乎没有很好的记录。

为清楚:

public class LargeClass { 
    // 30+ properties here 
} 

public class TinyClass { 
    // 6 properties here that map perfectly to LargeClass 
    // 4-8 properties that do not map to LargeClass, by design 
} 

CreateMap<TinyClass, LargeClass>(); // Will not validate, 24+ unmapped properties on Destination :(

谢谢!

回答

1

ReverseMap是您想要从CreateMap调用中反转地图的时候。

这听起来像你需要在你想验证对成员名单经过:

CreateMap<TinyClass, LargeClass>(MemberList.Source); 

这证实了对源成员。

如果您需要更多文档,请查看wiki!

+0

谢谢。我现在看到文档中的位置;我曾经在那里寻找过解决方案,但实际上我忽略了那个小小的事情,而这正是我所需要的。我真的很喜欢AutoMapper,所以当我说ReverseMap实际上没有文档时,请不要把它当作任何不敬之词......维基上的两个传递提及中没有解释如何使用它。 – pbarranis

+1

我认为它会增长一些 - 我们正在考虑在下一个版本中扩展反向映射,因为今天我不认为它的工作原理是人们真正想要或期望的。 –