依赖注入
ASP.NET Core
有很多方案可以使用. ASP.NET Core 项目使用: AutoMapper.Extensions.Microsoft.DependencyInjection.
使用步骤:
- 派生
Profile
类, 来定义配置. - 添加服务, 可以使用程序集, Type 类型, 也可以使用自动搜索.
- 利用依赖注入, 来获得
IMapper
.
可以考虑 AutoFac (略)
底层 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
.