0

我有一个包含 30 多个属性的大类,我需要从一个包含大约 6 个属性的小类映射到它,这些属性应该自动映射(同名,相同类型)。我不想在映射配置中维护 24 个以上的 .Ignore() 列表,但我确实希望能够针对我的所有其余映射运行 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 :(

谢谢!

4

1 回答 1

1

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

听起来您需要传入要验证的成员列表:

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

这针对源成员进行验证。

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

于 2017-04-21T03:04:29.870 回答