c# - 如何在没有 DI 的情况下将 AutoMapper 9 与静态实现一起使用?
问题描述
我想在没有依赖注入的情况下创建 AutoMapper 的静态实现。我正在使用 ASP.NET CORE 2.2 和 AutoMapper 9。我发现了类似的主题:
如何在没有依赖注入的情况下在 Asp.Net Web Api 2 中使用 AutoMapper 9.0.0?
有没有更简单的方法来创建没有 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
在你的项目中的某个地方设置一个字段/属性来保存mapper
。
推荐阅读
- java - 休眠:没有为实体指定标识符
- android - 当用户在 MQTT 中离线时通过 FCM 发送推送通知?
- javascript - 如何通过单击按钮生成包含对象的新变量?
- python - Flask-restful:请求返回错误值
- terraform - Terraform:识别最新/最后创建的资源?
- rest - Show Swagger validation information
- d3.js - 如何在客户端使用使用 d3node 开发的图表或图形
- wpf - WPF 在应用程序启动时加载 texbox 内容
- sql-server - 非唯一索引与全表扫描
- c++ - 在 QObject 之外使用 QTimer