如何在没有 DI 的情况下使用静态实现的 AutoMapper 9?

How to use AutoMapper 9 with static implementation without DI?

我想创建不依赖注入的 AutoMapper 的静态实现。我正在使用 ASP.NET CORE 2.2 和 AutoMapper 9。 我找到了类似的主题:

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

您可以简单地从映射器配置构建一个映射器。 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 field/property 来保存 mapper.