.NET Core实战项目:WEB API(5)DTO映射

前言

为什么要使用DTO:

1:安全,如果数据库的东西要可以直接访问,那用户资料就容易被读取。

2:解耦,通过DTO我们实现了表现层与Model之间的解耦,表现层不引用Model,如果开发过程中我们的模型改变了,而界面没变,我们就只需要改Model而不需要去改表现层中的东西。

3:DTO是面向界面UI,是通过UI的需求来定义的。

如何实现

安装AutoMapper包,然后注入,代码如下:

  #region AutoMapper
      services.AddAutoMapper(typeof(CustomAutoMapperProfile));
      #endregion

建立一个类,实现DTO与对应类的映射

public class CustomAutoMapperProfile : Profile
  {
    public CustomAutoMapperProfile()
    {
      base.CreateMap();
      base.CreateMap()
        .ForMember(dest => dest.TypeName, sourse => sourse.MapFrom(src => src.TypeInfo.Name))
        .ForMember(dest => dest.WriterName, sourse => sourse.MapFrom(src => src.WriterInfo.Name));
    }
  }

完成

你可能感兴趣的:(.netcore,前端,microsoft,web安全,系统安全)