jk's notes
  • 嵌套映射 Nested Mapping

嵌套映射 Nested Mapping

在出现复杂类型数据时 (属性并非基本类型). 需要对外层类型与属性类型同时进行映射. 例如:

image-20240102093829255

可以分别对内部与外部类型进行映射:

var config = new MapperConfiguration(cfg => {
  cfg.CreateMap<OuterSource, OuterDest>();
  cfg.CreateMap<InnerSource, InnerDest>();
});
config.AssertConfigurationIsValid();

注意:

  • 最好添加验证的方法, 这样如果失败会有异常抛出. 如果正确无副作用.
  • 映射的顺序不重要.
  • 调用 Map 方法时不用提供内部类型的映射, 只需要传入实例即可 (逻辑上与 DI 系统一样, 依赖的成员会自动处理).

基于扁平化与嵌套映射, 可以构造任意结构的对象.

Last Updated:
Contributors: jk