首页 > 移动平台 > 详细

.NetCore 使用AutoMapper

时间:2018-07-02 14:05:21      阅读:255      评论:0      收藏:0      [点我收藏+]

添加引用

AutoMapper

AutoMapper.Extensions.Microsoft.DependencyInjection

注册服务

services.AddAutoMapper();

配置映射

services.AddAutoMapper(); 中DI了AutoMapper中需要用到的服务,其中包括AutoMapper的配置类 Profile

那么怎么来使用这个Profile,只需要自定义一个类 继承 Profile 即可,在构造函数中配置下映射关系

 public class CustomMapping : Profile
    {
        public CustomMapping()
        {
           
            CreateMap<Sys_UserLogininfo, LoginMsg>();
            CreateMap<LoginMsg, Sys_UserLogininfo>();
        }
    }

这里已经DI了CustomMapping,所以实例化了,构造函数自然也被执行过了,不需要再去DI CustomMapping类,在AutoMapper.Extensions.Microsoft.DependencyInjection中的

AddAutoMapper已经做了这些事情,这其中包括 IMapper 接口

在需要用的AutoMapper的地方通过构造函数注入下IMapper对象即可

如构造函数注入

        IMapper _mapper;
        public UserController(IMapper mapper)
        {
            _mapper = mapper;
        }
   _mapper.Map<LoginMsg, Sys_UserLogininfo>(loginMsg);

额外说明:在使用AutoMapper过程中如果类中字段不一致需要实现映射怎么处理

 CreateMap<Sys_UserLogininfo, LoginMsg>().ForMember(c=>c.UserName,x=>x.MapFrom(k=>k.Use_Use));

映射 MapFrom 来自哪里的字段 到 ForMember 哪个字段

注意 

CreateMap<Source,Destination>(); 来源->目标

 

.NetCore 使用AutoMapper

原文:https://www.cnblogs.com/liyouming/p/9253424.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!