首页 > 解决方案 > 如何在没有 DI 的情况下将 AutoMapper 9 与静态实现一起使用?

问题描述

我想在没有依赖注入的情况下创建 AutoMapper 的静态实现。我正在使用 ASP.NET CORE 2.2 和 AutoMapper 9。我发现了类似的主题:

如何在没有依赖注入的情况下在 Asp.Net Web Api 2 中使用 AutoMapper 9.0.0?

有没有更简单的方法来创建没有 DI 的静态实现?

标签: c#asp.net-coreautomapperautomapping

解决方案


您可以简单地从映射器配置构建映射器。AutoMapper docs中提供了一个示例,我在此处复制了该示例:

// use cfg to configure AutoMapper
var config = new MapperConfiguration(cfg => cfg.CreateMap<Order, OrderDto>()); 

var mapper = config.CreateMapper();
// or
var mapper = new Mapper(config);
OrderDto dto = mapper.Map<OrderDto>(order);

然后你可以简单地static在你的项目中的某个地方设置一个字段/属性来保存mapper


推荐阅读