首页 > 编程语言 >C# 程序中使用AutoMapper实体映射

C# 程序中使用AutoMapper实体映射

时间:2023-07-18 22:45:59浏览次数:36  
标签:set 映射 get C# AutoMapperUnity AutoMapper new public

   我的开发环境framework为4.7.2

  •   添加AutoMapper 9.0引用

  •   创建实体映射公共类
 public class AutoMapperUnity
    {
        public static IMapper autoMapperTool;
        public AutoMapperUnity()
        {
            autoMapperTool = AutoMapperUnity.MapperInitialize();
        }
        /// <summary>
        /// 注册映射关系(只能运行一次)
        /// </summary>
        public static IMapper MapperInitialize()
        {

            var config = new MapperConfiguration(cfg =>
            {
                cfg.CreateMap<person, student>();

                // cfg.SourceMemberNamingConvention = new PascalCaseNamingConvention();//命名是小写并包含下划线
                // cfg.DestinationMemberNamingConvention = new LowerUnderscoreNamingConvention();//帕斯卡命名规则(每个单词的首字母大写)
            });

            var mapper = config.CreateMapper();
            return mapper;
        }
    }
  •   创建映射实体
  public class person
    {
        public int id { get; set; }

        /// <summary>
        /// 姓名
        /// </summary>
        public string uName { get; set; }

        /// <summary>
        /// 年龄
        /// </summary>
        public int uAge { get; set; }

        /// <summary>
        /// 爱好
        /// </summary>
        public string hobby { get; set; }
    }
 public class student
    {

        /// <summary>
        /// 姓名
        /// </summary>
        public string uName { get; set; }

        /// <summary>
        /// 年龄
        /// </summary>
        public int uAge { get; set; }
    }
  •   测试实体映射
 static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            AutoMapperUnity autoMapper = new AutoMapperUnity();
            TestAutoMapper();
            Application.Run(new Form2());
        }

        private static void TestAutoMapper()
        {
            IMapper mapper = AutoMapperUnity.autoMapperTool;
            person _per = new person { id = 1, uName = "张三", uAge = 12, hobby = "运动" };
            student stu = mapper.Map<student>(_per);
            Console.WriteLine(JsonConvert.SerializeObject(stu));
            Console.ReadLine();

        }

 

标签:set,映射,get,C#,AutoMapperUnity,AutoMapper,new,public
From: https://www.cnblogs.com/personblog/p/17564331.html

相关文章

  • coc仓库--从内存中读取图像
    从内存中读取图像1.源码voidcreateMatFromMem(FILE*file,cv::Mat*mat){uchar*mem_pic=newuchar[6268932/sizeof(uchar)];longsize=0;fread(mem_pic,sizeof(uchar),6268932/sizeof(uchar),file);pclose(file);cv::_InputArraypic_a......
  • coc仓库--popen命令的封装
    popen命令的封装1.源码intrunShellNoReturn(constchar*cmd,constchar*mode){FILE*file=popen(cmd,mode);if(file==NULL){return1;}else{pclose(file);return0;}}FILE*runShellAndReturn(con......
  • C语言:数据类型之整形(一)
     什么是数据?记录一天各个时间的温度,那么这个温度就是数据.记录一个水库水位的变化值,那么这个值就是数据.什么是数据类型?1215是整数12.23是小数"helloworld"是一段话基本数据类型:数值类型:整形,浮点型。整形顾名思义就是整数,像:1,2,3,4,5就是整形整形在C语言的关键字是:int......
  • 初识C语言--2
    指针,指针的大小为4或8字节,取决于使用系统的地址线,32位为4字节。指针变量——用来存放地址取地址——int*p=&a;inta=10;//创建一个空间,此空间有一个地址名,空间存放的值为10int*p=&a;//创建一个空间,名字为p,里面存放的为a的地址*p=20;//*p的意义为p空间中存放的地址,其指......
  • Oracle生成UUID
    使用sys_guid()获取oracleUUID,会出现乱码问题,使用库函数对sys_guid()进行处理,则是标准UUID大写UUIDSELECTsys_guid(),rawtohex(sys_guid())fromdual小写uuidSELECTlower(rawtohex(sys_guid()))fromdual......
  • 【Catasult Shooting】发现虫类对附近高速掠过的物体似乎觉察不到
    活物靶子比死靶子有意思得多,我经常打击的是虫靶,比如说海蟑螂、蜘蛛、苍蝇、飞蝗、知了等。这些虫子,如果是低俗物体靠近,比如人走过去或是仍块石头过去,它们早跑了,但一颗泥丸打过去,除非把它们击中击伤了,它们都是不会跑的。也就是说,它们似乎对高速掠过身边的小物体没有察觉,一颗击不中可......
  • 《C++》拷贝和替换算法
    copy复制容器元素到新容器 vector<int>v3; v3.resize(v1.size()); copy(v1.begin(),v1.end(),v3.begin());replace元素值替换 replace(v3.begin(),v3.end(),0,100);//replace(开始,结束,旧值,新值);replace_if条件元素值替换classFindCondition{public: booloperator()(......
  • BeyondCompare4解决评估到期(避免商用)
    步骤win+R打开注册表进入计算机\HKEY_CURRENT_USER\SOFTWARE\ScooterSoftware\BeyondCompare4删除CacheID文件即可重置评估期限......
  • C# 基础数据类型
    一. 在C#中,基础数据类型的取值范围和所占空间字节数如下:1.bool:-取值范围:true或false-空间字节数:12.byte:-取值范围:0到255-空间字节数:13.sbyte:-取值范围:-128到127-空间字节数:14.char:-取值范:Unicode字符集中的任意字......
  • 文心一言 VS 讯飞星火 VS chatgpt (62)-- 算法导论6.5 1题
    文心一言VS讯飞星火VSchatgpt(62)--算法导论6.51题一、试说明HEAP-EXTRACT-MAX在堆A=(15,13,9,5,12,8,7,4,0,6,2,1)上的操作过程。文心一言:HEAP-EXTRACT-MAX是堆排序算法中的一部分,用于从堆中提取最大值并保持堆的性质。下面是在堆A=(15,13,9,5,12,8,7,4,0,6,2,1)上执行H......