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一样。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/436043.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

BUUCTF---[极客大挑战 2019]BabySQL1

1.这道题和之前做的几道题是相似的&#xff0c;这道题考的知识点更多。难度也比之前的大一些 2.尝试万能密码 or 1#发现过滤了or,使用1和1,发现他对单引号也进行了过滤。于是我尝试进行双写绕过&#xff0c;发现可以通过了。 3.由之前的做题经验可知&#xff0c;这道题会涉及到…

电动车着火事故,敲响梯控安全警钟

文章来源&#xff1a;电动车着火事故&#xff0c;敲响梯控安全警钟_专栏_易百纳技术社区 方案背景&#xff1a; 近年来&#xff0c;电动车起火事故屡有发生。如南京雨花台“223”火灾事故&#xff0c;造成了重大的人员伤亡。还有北京在 2023 年 12 月 28 日发生了一起村民自建…

工业以太网交换机助力电力综合自动化系统卓越运行

随着电力行业不断迈向数字化和自动化时代&#xff0c;电力综合自动化系统逐渐成为实现电网智能化管理的核心。在这一复杂而庞大的系统中&#xff0c;工业以太网交换机扮演着至关重要的角色&#xff0c;连接着各种智能设备&#xff0c;实现数据的快速传输和高效管理&#xff0c;…

共用体union

一、共用体的特性 共用体又叫做联合体&#xff0c;共用体的特性如下&#xff1a; 1.共用体的所有成员共用一段内存空间&#xff0c;且所有成员的起始位置是一致的 2.共用体的值由最后赋值的成员决定 3.共用体的内存大小 共用体的内存必须大于或等于其他成员变量中最大数据类型…

NineData与OceanBase完成产品兼容认证,共筑企业级数据库新生态

近日&#xff0c;云原生智能数据管理平台 NineData 和北京奥星贝斯科技有限公司的 OceanBase 数据库完成产品兼容互认证。经过严格的联合测试&#xff0c;双方软件完全相互兼容、功能完善、整体运行稳定且性能表现优异。 此次 NineData 与 OceanBase 完成产品兼容认证&#xf…

泰迪·上海杉达学院大数据与智能技术工作室挂牌签约仪式圆满结束

2024年3月5日&#xff0c;上海杉达学院邀请广东泰迪智能科技股份有限公司上海分公司总经理彭艳昆一行出席“泰迪上海杉达学院大数据与智能技术工作室”签约挂牌仪式。上海杉达学院副校长兼信息科学与技术学院院长陈瑛、信息科学与技术学院副院长于晓东、信息科学与技术学院党总…

Diffusion Models for Implicit Image Segmentation Ensembles

隐式图像分割集成的扩散模型 摘要 扩散模型在图像生成建模方面表现出令人印象深刻的性能。本文提出了一种新的基于扩散模型的语义分割方法。通过改进训练和采样方案&#xff0c;我们证明了扩散模型可以对医学图像进行病灶分割。为了生成特定于图像的分割&#xff0c;我们在地…

SpringCloud(20)之Skywalking Agent原理剖析

一、Agent原理剖析 使用Skywalking的时候&#xff0c;并没有修改程序中任何一行 Java 代码&#xff0c;这里便使用到了 Java Agent 技术&#xff0c;我 们接下来展开对Java Agent 技术的学习。 1.1 Java Agent Java Agent 是从 JDK1.5 开始引入的&#xff0c;算是一个比较老的…

直播预告|小白开箱: 云数据库在五朵云上的评测

3 月 7 日&#xff0c;周四晚上 19:00-20:30 由明说三人行组织&#xff0c;邀请了 NineData 国际总经理(GM) Ni Demai、云猿生数据 CTO &#xff06; 联合创始人子嘉&#xff0c;和《明说三人行》创始人 &主持人明叔&#xff0c;共同围绕《小白开箱: 云数据库在五朵云上的评…

红帆ioffice-udfGetDocStep.asmx存在SQL注入漏洞

产品简介 红帆iOffice.net从最早满足医院行政办公需求&#xff08;传统OA&#xff09;&#xff0c;到目前融合了卫生主管部门的管理规范和众多行业特色应用&#xff0c;是目前唯一定位于解决医院综合业务管理的软件&#xff0c;是最符合医院行业特点的医院综合业务管理平台&am…

Qt插件之输入法插件的构建和使用(一)

文章目录 输入法概述输入法插件实现及调用输入键盘搭建定义样式自定义按钮实现自定义可拖动标签数字符号键盘候选显示控件滑动控件手绘输入控件输入法概述 常见的输入法有三种形式: 1.系统级输入法 2.普通程序输入法 3.程序自带的输入法 系统级输入法就是咱们通常意义上的输入…

SpringBoot3整合Mybatis-plus报错IllegalArgumentException

错误信息 使用的SpringBoot3版本&#xff1a;3.2.3 java.lang.IllegalArgumentException: Invalid value type for attribute factoryBeanObjectType: java.lang.String 第一想法就是感觉是版本太低导致和SpringBoot3不兼容。 查询mybatis-plus最高的版本 <!-- https://m…

“安康杯”安全知识竞赛活动方案

“安康杯”知识竞赛&#xff0c;顾名思义也就是把竞争机制、奖励机制、激励机制应用于安全生产活动中的群众性“安全”与“健康”竞赛。本次竞赛包括 4 个竞赛环节&#xff0c;分别是胜券在握&#xff08;必答题&#xff09;、 刻不容缓&#xff08;抢答题&#xff09;、披荆斩…

volatile关键字的作用 以及 单例模式(饿汉模式与懒汉模式的区别及改进)

文章目录 &#x1f4a1;volatile保证内存可见性&#x1f4a1;单例模式&#x1f4a1;饿汉模式&#x1f4a1;懒汉模式&#x1f4a1;懒汉模式多线程版&#x1f4a1;volatile防止指令重排序 &#x1f4a1;volatile保证内存可见性 Volatile 修饰的变量能够保证“内存可见性”以及防…

数据库(mysql)-新手笔记(主外键,视图)

主外键 主键(唯一性,非空性) 主键是数据库表中的一个或多个字段&#xff0c;其值唯一标识表中的每一行/记录。 唯一性: 主键字段中的每个值都必须是唯一的&#xff0c;不能有两个或更多的记录具有相同的主键值 非空性&#xff1a;主键字段不能包含NULL值。 外键(引用完整 …

AXI4总线解析

一、读地址 AWVALID和AWREADY同时为高时&#xff0c;在这个上升沿&#xff0c;图中黄线&#xff0c;将接下来的数据写入地址40000000中。 在

递增三元组(第九届蓝桥杯)

文章目录 题目原题链接思路分析二分做法1二分做法2双指针做法前缀和解法 题目 原题链接 递增三元组 思路分析 由时间复杂度可知需要至少优化到 O ( n l o g n ) O(nlogn) O(nlogn)才行 而纯暴力枚举三个数组的话&#xff1a; O ( n 3 ) O(n^3) O(n3) 可以考虑将b[]作为标志&…

28000MB 是多少GB 内存?怎么清理内存空间?

在计算机领域&#xff0c;我们经常会听到关于存储容量的单位&#xff0c;如 MB&#xff08;兆字节&#xff09;和 GB&#xff08;千兆字节&#xff09;。如果您在处理计算机内存或存储空间时遇到了 28000MB 这样的容量&#xff0c;您可能会想知道它相当于多少GB。本文将为您解答…

在win10中下载桌面版的docker并在docker中搭建运行基于linux的容器

在win10中下载桌面版的docker 1.背景 在很多时候需要linux系统部署项目&#xff0c;在win10中安装虚拟机并在虚拟机中安装linux系统比较繁琐&#xff0c;可以利用win10自带的hyper-v的虚拟机管理工具&#xff0c;打开该虚拟机管理工具&#xff0c;安装docker&#xff0c;并在…

压测工具jmeter使用

目录 下载 解压 修改配置 启动模拟发送请求 下载 解压 修改配置 启动 下载地址&#xff1a;https://archive.apache.org/dist/jmeter/binaries/ 参考文章&#xff1a;https://www.cnblogs.com/Uni-Hoang/p/15573606.html 一般下zip版本&#xff0c;如apache-jmeter-5.2.1.zip …