.NetCore——AutoMapper基本使用

.NetCore——AutoMapper基本使用

一、介绍
官网解释:
AutoMapper是一个对象-对象映射器。对象-对象映射通过将一种类型的输入对象转换为另一种类型的输出对象来工作。
使AutoMapper变得有趣的是,它提供了一些有趣的约定,以免去搞清楚如何将类型A映射为类型B。只要类型B遵循AutoMapper既定的约定,就需要几乎零配置来映射两个类型。简单来说就是偷懒用的。
官网地址:https://docs.automapper.org/en/stable/Getting-started.html

二、使用
引入NuGet包,其他相关的依赖包会自动导入新增进来
在这里插入图片描述
创建实体
在这里插入图片描述
Startup注入服务
在这里插入图片描述
使用AutoMapper创建实体之间关系,创建AutoMapperProfile类继承Profile
在这里插入图片描述

 public class AutoMapperProfile : Profile
    {
        public AutoMapperProfile()
        {
            //2个实体字段名字不一样需要指定映射关系 .ForMember(n=>n.Age,a=>a.MapFrom(c=>c.Age1))
            //ReverseMap相互映射
            CreateMap<User, UserInfo>().ForMember(n => n.Age, a => a.MapFrom(c => c.Age1))
                .ForMember(n=>n.Messages,a=>a.MapFrom(c=>c.Message.Messages)).ReverseMap();
        }
    }

下面就开始实现
在这里插入图片描述
箭头从上到下依次:
1.构造注入IMapper用于实现
2.创建模拟数据
3.不通过注入的方式实现映射
4.通过注入的方式实现映射
这样就可以实现数据的映射操作了。
在这里插入图片描述
可以通过监视看到数据直接映射成功。
但是有一个差异的地方就是嵌套类型。在data中Message的嵌套类型是没有映射上的。这个原因就是配置映射的关系了。
在这里插入图片描述
我通过实例实现映射的时候只是创建了映射关系并没有其他的配置。所以它能映射的方方面面没有通过注入的全。
ForMember指定映射关系,
图中第一个ForMember:将UserInfo类中的 Age 指定映射到 User 类中的 Age1
图中第二个ForMember:将UserInfo类中的 Messages 指定映射到 User 类中的 嵌套类 Messages 中的 Messages

三、结束
这就是 AutoMapper的一些基本使用了,这些基本可以满足日常的简单使用了。具体使用的好处 只有用了就知道了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值