在.net core 中使用 AutoMapper 映射

1、首先在Service层引入Nuget包

2、在Api层添加AutoMapper文件夹,然后添加映射配置文件CustomProfile.cs 用来匹配所有的映射对象关系

CustomProfile.cs中的内置代码如下:

复制代码
 1     public class CustomProfile:Profile
 2     {
 3         /// <summary>
 4         /// 配置构造函数,用来创建关系映射
 5         /// </summary>
 6         public CustomProfile()
 7         {
 8             CreateMap<RoleDto,Role>().ReverseMap();
 9         }
10     }
复制代码

 

3、注入服务  找到Startup.cs 在ConfiguService中 添加AutoMapper(此注入服务具有一定顺序,最好放在最上面)

 

基本使用方式,在构造函数中进行注册,在接口中进行运用:

复制代码
 1  pub1ic class RoleController : ControllerBase
 2  {
 3       //private readonly IRoleServices_ roleService;
 4       private readonly IMapper  _mapper;
 5       autoFac配置
 6       private readonly IRoleServices _roleService;
 7       // use _mapper. Map or _ mapper. ProjectTo
 8      public RoleController (IRoleServices roleService, IMapper mapper)
 9      {
10            _roleService = roleService;
11          _mapper = mapper ;   
12      }
13 
14      public IActionResult CreateRole(RoleDto roleDto)
15     {
16          var role=_mapper.Map<Role>(roleDto);
17          var result = _roleService.CreateRole(role);
18          return Ok(result);
19     }      
20  
21 }
复制代码

这就是AutoMapper了,当你的实体类越来越多 业务也越来越复杂的时候,就能体现出这种映射的好处了。

posted @   ZCLTC  阅读(319)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示