嵌套映射 Nested Mapping
在出现复杂类型数据时 (属性并非基本类型). 需要对外层类型与属性类型同时进行映射. 例如:
可以分别对内部与外部类型进行映射:
var config = new MapperConfiguration(cfg => {
cfg.CreateMap<OuterSource, OuterDest>();
cfg.CreateMap<InnerSource, InnerDest>();
});
config.AssertConfigurationIsValid();
注意:
- 最好添加验证的方法, 这样如果失败会有异常抛出. 如果正确无副作用.
- 映射的顺序不重要.
- 调用
Map
方法时不用提供内部类型的映射, 只需要传入实例即可 (逻辑上与 DI 系统一样, 依赖的成员会自动处理).
基于扁平化与嵌套映射, 可以构造任意结构的对象.