当前位置: 首页 > news >正文

asp.net core automapper的使用

1.安装automapper的nuget包
AutoMapper.Extensions.Microsoft.DependencyInjection
2.创建需要映射的类和转换后的类

public class studto{public int sn { get; set; }public string name { get; set; }public string sex { get; set; }public int age { get; set; }public string addre { get; set; }}public class stu{public int sn { get; set; }public string name { get; set; }public string sex { get; set; }public int age { get; set; }public string address { get; set; }}

3.创建映射类需要继承automapper中的profile类

 public class customProfile : Profile{public customProfile(){          //如果dto类中的字段和实体类中的字段名相同就不需要配置字段,字段不相同,则要配置CreateMap<stu, studto>()//stu类映射到studto类上,studto类中的addre,与stu类中的address类对应CreateMap<stu, studto>().ForMember(dest => dest.addre, opt => opt.MapFrom(src => src.address));}}

4.在program中注入automapper服务

builder.Services.AddAutoMapper(typeof(customProfile));
builder.Services.AddScoped<Iservice, service>();

5.准备好实体数据

public interface Iservice{List<stu> lsstu();}
public class service : Iservice{public List<stu> lsstu(){List<stu> stus = new List<stu>();stus.Add(new stu() { sn = 1, name = "pzx", sex = "nan", age = 10, address = "pzx" });stus.Add(new stu() { sn = 2, name = "pzx", sex = "nan", age = 10, address = "pzx" });stus.Add(new stu() { sn = 3, name = "pzx", sex = "nan", age = 10, address = "pzx" });return stus;}}

6.在控制中通过构造函数注入的方式调用automapper的map方法,完成实体转换

 [HttpGet]public IActionResult Index(){var ls = iservice.lsstu();var dtols = _mapper.Map<List<stu>, List<studto>>(ls)}

调用效果
在这里插入图片描述

http://www.lryc.cn/news/176985.html

相关文章:

  • 自学WEB后端03-Node.js 语法
  • 对象数组合并和去重
  • 【AI语言模型】阿里推出音视频转文字引擎
  • YOLOv5改进D-LKA:在D-LKA结构的基础上进行多种改进结构,同时拥有Attention和大卷积核的能力,高效改进
  • Java项目-Spring Boot的生鲜网上交易系统
  • MySQL - group by分组查询 (查询操作 三)
  • 96.qt qml-http之XMLHttpRequest介绍详解使用
  • 代码随想录算法训练营第五十天 | 123.买卖股票的最佳时机III 188. 买卖股票的最佳时机 IV
  • 详解window.print(),实现长列表打印分页
  • 使用Chatgpt编写的PHP数据库pdo操作类(增删改查)
  • 蓝桥杯2023年第十四届省赛真题-异或和之和--题解
  • Linux 常用命令学习笔记
  • 支撑电动汽车规模化,特来电智能化升级群充产品
  • 本次CTF·泰山杯网络安全的基础知识部分
  • 通信协议:Uart的Verilog实现(下)
  • 嵌入式MCU都有什么高级用法?
  • 热启动和冷启动是什么,区别
  • 每日一题 494目标和(0-1背包)(灵神笔记)
  • 软件测试工作步骤详情
  • java项目之列车票务信息管理系统(ssm源码+文档)
  • 【Pytorch笔记】3.数学运算
  • MeterSphere 监控方案
  • elementui-plus+ts+axios使用el-upload组件自定义上传
  • 【STM32单片机】u8g2智能风扇设计
  • Java中的IO流的缓冲流
  • 7、SpringBoot_高级配置
  • cocos2dx查看版本号的方法
  • 某高校的毕设
  • 利用uvicorn、Starlette和pipeline将一个训练好的大模型发布成一个web服务
  • 贝赛尔曲线 - Vue3实现加入购物车抛物线效果组件