jk's notes
  • 依赖注入

依赖注入

ASP.NET Core

有很多方案可以使用. ASP.NET Core 项目使用: AutoMapper.Extensions.Microsoft.DependencyInjection.

使用步骤:

  1. 派生 Profile 类, 来定义配置.
  2. 添加服务, 可以使用程序集, Type 类型, 也可以使用自动搜索.
  3. 利用依赖注入, 来获得 IMapper.

可以考虑 AutoFac (略)

  • Nuget
  • 博客
  • 其他 DI 引擎

底层 API

AutoMapper 提供了构建自定义 Value Resolver, 自定义类型转换, 值转换的功能, 可以使用静态服务定位:

var conf = new MapperConfiguration(cfg => {
  cfg.ConstructServicesUsing(ObjectFactory.GetInstance);
  cfg.CreateMap<Source, Destination>();
});

或者使用动态服务定位:

var mapper = new Mapper(conf, childContainer.GetInstance);
var dest = mapper.Map<Source, Destination>(new Source { Value = 15 });

可查询扩展 (暂略)

从 8.0 开始可以使用 IMapper.ProjectTo.

Last Updated:
Contributors: jk