C# AutoMapper6.1.1使用

为什么要用DTO?

1、DTO更注重数据,对领域对象进行合理封装,从而不会将领域对象的行为过分暴露给表现层

2、DTO是面向UI的需求而设计的,而领域模型是面向业务而设计的。因此DTO更适合于和表现层的交互,通过DTO我们实现了表现层与领域Model之间的解耦,因此改动领域Model不会影响UI层

3、DTO说白了就是数据而已,不包含任何的业务逻辑,属于瘦身型的对象,使用时可以根据不同的

什么是AutoMapper?

AutoMapper是一个简单的小型库, 用于将一个对象映射到另一个对象的代码。

怎么使用

NuGet安装AutoMapper,然后引入using AutoMapper.Configuration;

//使用AutoMapper转换,版本6.1.1
var cfg = new MapperConfigurationExpression();
cfg.CreateMap<FlowDTO, FlowBeginJob>();
//可以添加多个转换,就是类中还包含类,添加多个Map,子类也会自动转换
cfg.CreateMap<FlowTwoDTO, FlowTwoBeginJob>();
Mapper.Initialize(cfg);
var dto = Mapper.Map<FlowBeginJob>(flow);
//函数定义,第一个参数是源类型,第二个是目标类型
public IMappingExpression<TSource, TDestination> CreateMap<TSource, TDestination>();

上一篇:什么是AutoMapper?


下一篇:AutoMapper源码解析