net 项目中使用automapper 电脑版发表于:2022/11/5 17:45 ## 目录 * [net 项目中使用automapper](#net-项目中使用automapper) * [自动注入方式](#自动注入方式) * [项目中引入包](#项目中引入包) * [注入服务](#注入服务) * [写automapper 配置文件](#写automapper-配置文件) * [具体使用automapper ](#具体使用automapper-) # net 项目中使用automapper ## 自动注入方式 ### 项目中引入包 ```c# //这个是可以自动注入的 <PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="11.0.0" /> ``` ### 注入服务 在program.cs中注入服务 ```c# builder.Services.AddAutoMapper(AppDomain.CurrentDomain.GetAssemblies()); ``` ### 写automapper 配置文件 1. 建立一个文件继承: Profile 2. 写个构造函数例如:  ```c# 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\<desT>(srcData) ```c# # 自动注入 private readonly IMapper _mapper; # 使用 _mapper.Map<TodoResDto>(srcData); ```