Net8集成AutoMap

一、概述

使用Net8 搭建WebApi,需要集成AutoMap,方便开发。

二、实现

2.1 安装 AutoMapper

在这里插入图片描述

2.2 创建AutoProfile配置类继承Profile
namespace AnNeng.Cad.WebApi.Config
{
    using AnNeng.Service.Application.CadAndOss.Dto;
    using AnNeng.Service.Application.Common.Dto;
    using AutoMapper;
    /// <summary>
    /// AutoMapper配置类.
    /// </summary>
    public class MyMappingProfile : Profile
    {
        /// <summary>
        /// 配置需要的映射.
        /// </summary>
        public MyMappingProfile ()
        {
            CreateMap<EditRedisRequestInput, CreateCadFileInput>() ;
            CreateMap<CreateCadFileInput,EditRedisRequestInput>();
            // 如果要配置具体的字段映射,可以添加 如下:
            // CreateMap<EditRedisRequestInput, CreateCadFileInput>()
            //.ForMember(dest => dest.Property, opt => opt.MapFrom(src => src.AnotherProperty));
            // ... 其他映射配置  
            // ... 其他映射配置  
        }

    }
}
2.3 在Api 启动类 (Program.cs)里面配置AutoMap服务
// 添加AutoMapper服务  
builder.Services.AddAutoMapper(options =>
{
    // 可以在这里添加额外的配置,比如全局的ValueResolvers或TypeConverters  
    options.AddProfile<AnNengMappingProfile>(); // 添加你的映射配置Profile  
});

三、使用

在Sevice类或者控制器里面依赖注入IMapper

  private readonly IMapper _mapper;

  /// <summary>
  /// 构造函数.
  /// </summary>
  public MyService(
       IMapper mapper,
      ) 
  {
      _mapper = mapper;
  }

使用代码如下:

 EditRedisRequestInput editRedisRequestInput = new EditRedisRequestInput();
 editRedisRequestInput = _mapper.Map<EditRedisRequestInput>(input) ;

四、抛砖引玉

这边如果有新的映射关系每次都需要去MyMappingProfile 类里面添加对应的映射关系,怎么可以做到无需再MyMappingProfile 配置便可以实现映射?就如同ABP框架里面使用AutoMap一样。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码写到35岁

你的鼓励将是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值