Web开发:使用Abp.AutoMapper进行实体映射的demo

news2024/11/16 17:42:29

控制台程序为例,展示该demo

一、安装Nuget包

二、文件结构

三、AutoMapperProfile.cs(映射规则)

using AutoMapper;

namespace ConsoleApp1
{
    public class AutoMapperProfile : Profile
    {
        public AutoMapperProfile()
        {
            CreateMap<Student, Teacher>()
                .ForMember(dest => dest.FullName, opt => opt.MapFrom(src => src.Name));//配置不同名的字段映射
                                //其他字段:字段名称一样的自动映射

        }
    }
}

四、Model.cs(实体模型)


namespace ConsoleApp1
{
    public class Model
    {
    }
    public class Student
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public int Age { get; set; }
    }

    public class Teacher
    {
        public int Id { get; set; }
        public string FullName { get; set; }
        public int Age { get; set; }
    }
}

五、Program.cs(程序入口)

using AutoMapper;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 配置规则
            var configuration = new MapperConfiguration(cfg =>
            {
                cfg.AddProfile<AutoMapperProfile>();
            });

            // 创建映射器
            IMapper mapper = configuration.CreateMapper();

            // 创建学生实体
            var student = new Student
            {
                Id = 1,
                Name = "小苏",
                Age = 20
            };

            // 映射成老师
            var teacher = mapper.Map<Teacher>(student);

            Console.WriteLine($"Teacher: Id={teacher.Id}, FullName={teacher.FullName}, Age={teacher.Age}");
            //输出:Teacher: Id=1, FullName=小苏, Age=20

        }
    }
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

面向新人的 Java 面试问题(1-50)

1. Java 是否独立于平台&#xff1f;如果是&#xff0c;那么如何独立&#xff1f; 是的&#xff0c;Java 是一种独立于平台的语言。与许多编程语言不同&#xff0c;javac 将程序编译为字节码或 .class 文件。此文件独立于正在运行的软件或硬件&#xff0c;但需要在操作系统中预…

--- java 包装类 泛型 ---

包装类 因为在java中基本类型&#xff08;int char...&#xff09;不是继承值Object类&#xff0c;为了满足泛型的需要&#xff0c;于是给每种基本类型都设计了对应的包装类 基本类型包装类intInteger char CharacterbyteByteShortShortfloatFloatdoubleDoublelongLongboolea…

mars3D引用模型库以及图标配置

文章目录 一、icon总结 一、icon 引入基本场景后 还差几个样式引入 mars3D图标用的 https://fontawesome.dashgame.com/ 引入对应的 <link rel"stylesheet" href"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css"&…

WebGIS开发中一些常见的概念

0. 坐标系投影 地理坐标系和投影坐标系是两种常用的坐标系统&#xff0c;它们各自有着独特的特性和应用场景。 0.1 地理坐标系 地理坐标系(Geographic Coordinate System&#xff0c; 简称 GCS)是以地球椭球体面为参考面&#xff0c;以法线为依据&#xff0c;用经纬度表示地…

双指针| Java | (hot100) 力扣283, 11, 15, 42做题总结

leetcode 11 盛最多水的容器 双层for循环暴力 超出时间限制 class Solution {public int maxArea(int[] height) {int h0;int v0;for(int i0; i<height.length; i) {for(int ji1; j<height.length; j) {h Math.min(height[i],height[j]);v Math.max(v, h*(j-i));}}…

【原创公式】【完全二叉树】叶结点的计算【数据结构】

完全二叉树叶结点的计算 【铺垫】1叶结点即度为0的结点 2完全二叉树中度为1的结点只可能有0或1个 3完全二叉树的设叶结点仅可能出现在最后2层 设有完全二叉树T 【区分】第k层有a个叶结点≠第k层有a个结点 &#xff08;1&#xff09;第k层有a个叶结点&#xff1a;T的形态不唯一&…

Mac电脑虚拟机安装win11教程

Mac分享吧 文章目录 效果一、准备工作二、安装步骤方法1&#xff1a;使用虚拟机自带的win11系统&#xff0c;选中系统软件--继续--安装&#xff0c;即可完成win11安装方法2&#xff1a;通过下载好的镜像安装Windows11系统。选择镜像文件位置&#xff0c;安装&#xff0c;配置1…

MySQL进阶-MySQL管理

系统数据库 常用工具 mysql mysqladmin mysqlbinlog mysqlshow mysqldump mysqlimport/source

数据预处理和探索性数据分析(上)

目录 数据预处理 数据清洗 处理缺失值&#xff1a; 异常值检测与处理&#xff1a; 类别特征编码&#xff1a; 特征工程 创建新特征&#xff1a; 特征缩放&#xff1a; 探索性数据分析 (EDA) 使用Matplotlib进行可视化 绘制直方图&#xff1a; 绘制箱线图&#xff1…

this内存原理,成员变量和局部变量的区别

this的作用&#xff1a;区分局部变量和成员变量 this的本质&#xff1a;所在方法调用者的地址值 内存分布&#xff0c;this会保存地址 this.name name 等号的右边触发就近原则接收形参 把接收到的形参赋值给成员变量的name 成员变量&#xff0c;类方法外的变量&#xff0c…

一刷代码随想录(DP10)

115.不同的子序列 题意&#xff1a;给定一个字符串 s 和一个字符串 t &#xff0c;计算在 s 的子序列中 t 出现的个数。 字符串的一个 子序列 是指&#xff0c;通过删除一些&#xff08;也可以不删除&#xff09;字符且不干扰剩余字符相对位置所组成的新字符串。&#xff08;…

这本跨界生意经,南方黑芝麻还是暂时放下了

南方黑芝麻的跨界故事还是难讲通。 近期&#xff0c;南方黑芝麻对外称&#xff0c;公司决定暂缓新能源储能项目建设。据悉&#xff0c;2023年&#xff0c;黑芝麻拟让下属全资子公司——江西小黑小蜜食品有限责任公司转型经营储能锂电池&#xff0c;并加码建设储能锂电池生产基…

计算机毕业设计 美发管理系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…

乘法逆元加练

前言&#xff1a;求乘法的逆元就是 n ^ (p-2), 我们平时乘以这个也是为了 #include<bits/stdc.h> using namespace std;#define int long long int n,p;int qw(int x,int num){int ans 1;while(num){if(num&1) ans ans * x % p;x x*x % p;num>>1;}return an…

SpringBoot的事务/调度/缓存/邮件发送和一些Spring知识点总结

目录 1、SpringBoot的事务管理 2、SpringBoot的异步任务 3、SpringBoot定时任务调度 4、SpringBoot整合Mail发送邮件 5、Spring框架中的Bean的作用域 6、Spring框架中的Bean的线程安全 7、 Spring框架中的Bean生命周期 8、Spring框架如何解决循环依赖&#xff1f; 9、…

深度相机与红外光相机+摄像头RTSP协议

0、绪论 一般而言&#xff0c;从深度信息的角度考虑相机&#xff0c;相机可以分为&#xff1a;单目&#xff0c;双目&#xff0c;RGB-D相机&#xff1b;单目或者双目相机都是通过被动的接收信息之后通过算法解算得到图片中的深度信息&#xff0c;​ RGB-D相机是主动式的&#…

将pytorch配置到jupyter里面(个人踩坑向)

一开始跟着大部分博主的创建一块虚拟环境和打开虚拟环境都应该没啥问题 这个就是创建一个python为3.6的环境&#xff08;你愿意创建啥环境就啥环境&#xff0c;但是3.6比较香&#xff0c;我之前傻不愣登的弄了个3.11&#xff08;想配套我自己的python&#xff09;人家说没有&am…

接口优化笔记

索引 添加索引 where条件的关键自动或者order by后面的排序字段可以添加索引加速查询 索引只能通过删除新增进行修改&#xff0c;无法直接修改。 # 查看表的索引 show index from table_name; show create table table_name; # 添加索引 alter table table_name add index …

回归预测|基于HGS-CNN-LSTM-Attention的数据回归预测Matlab程序 多特征输入单输出 含基础模型

回归预测|基于HGS-CNN-LSTM-Attention的数据回归预测Matlab程序 多特征输入单输出 含基础模型 文章目录 前言回归预测|基于HGS-CNN-LSTM-Attention的数据回归预测Matlab程序 多特征输入单输出 含基础模型 一、HGS-CNN-LSTM-Attention模型1. 模型组件概述1.1. 海鸥优化算法&…

日撸Java三百行(day24:二叉树的建立)

目录 一、分析准备 二、代码实现 1.方法创建 2.数据测试 3.完整的程序代码 总结 一、分析准备 在日撸Java三百行&#xff08;day22&#xff1a;二叉树的存储&#xff09;中&#xff0c;我们学习的是如何将链表二叉树转换为顺序表二叉树进行存储&#xff0c;而今天我们要…