//这个是可以自动注入的
<PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="11.0.0" />
在program.cs中注入服务
builder.Services.AddAutoMapper(AppDomain.CurrentDomain.GetAssemblies());
建立一个文件继承: Profile
写个构造函数例如:
public class WebAutoMapperProfile : Profile
{
public WebAutoMapperProfile()
{
//处理处理空集合
AllowNullCollections = true;
//配置具体的字段值映射
CreateMap<Todo, TodoResDto>().ForMember(dest => dest.Name, opt => opt.MapFrom(src => src.Title));
//嵌套
CreateMap<TodoItem, TodoItemDto>();
}
}
构造函数自动注入private readonly IMapper _mapper;
使用 _mapper.Map(srcData)
# 自动注入
private readonly IMapper _mapper;
# 使用
_mapper.Map<TodoResDto>(srcData);