一、介绍 官网解释: 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的一些基本使用了,这些基本可以满足日常的简单使用了。具体使用的好处 只有用了就知道了。
