net 项目中使用automapper

自动注入方式

项目中引入包

//这个是可以自动注入的
 <PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="11.0.0" />

注入服务

在program.cs中注入服务

builder.Services.AddAutoMapper(AppDomain.CurrentDomain.GetAssemblies());

写automapper 配置文件

  1. 建立一个文件继承: Profile

  2. 写个构造函数例如:

public class WebAutoMapperProfile : Profile
    {
        public WebAutoMapperProfile()
        {
            //处理处理空集合
            AllowNullCollections = true;
            //配置具体的字段值映射
            CreateMap<Todo, TodoResDto>().ForMember(dest => dest.Name, opt => opt.MapFrom(src => src.Title));
            //嵌套
            CreateMap<TodoItem, TodoItemDto>();
        }
    }

具体使用automapper

  1. 构造函数自动注入private readonly IMapper _mapper;

  2. 使用 _mapper.Map(srcData)

# 自动注入
private readonly IMapper _mapper;
# 使用
_mapper.Map<TodoResDto>(srcData);

 

你可能感兴趣的