zoukankan      html  css  js  c++  java
  • .NetCore 使用AutoMapper

    添加引用

    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>(); 来源->目标

  • 相关阅读:
    tcpdump高级过滤
    Flask简单学习
    nginx+keepalived高可用web负载均衡
    Golang基础(5):Go语言反射规则
    Golang基础(4):Go结构体
    分布式SESSION一致性
    JSON WEB TOKEN (JWT)
    Table布局
    GRID布局
    三种方式实现轮播图功能
  • 原文地址:https://www.cnblogs.com/liyouming/p/9253424.html
Copyright © 2011-2022 走看看