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

AutoMapper反向映射

在这里插入图片描述

 #region 用来验证反向映射public class MemberSource{public string Name { get; set; }public MemberInnerSource MemberInnerSource { get; set; }public MemberOtherInnerSource MemberOtherInnerSource { get; set; }}public class MemberInnerSource{public string Name { get; set; }public string Description { get; set; }}public class MemberOtherInnerSource{public string Name { get; set; }public string Description { get; set; }public string Title { get; set; }}public class MemberDestination{public string Name { get; set; }public string Description { get; set; }public string Title { get; set; }} #endregion
#region 反向映射  正常展平配置//var config3 = new MapperConfiguration(cfg =>//{//    // IncludeMembers 里面参数是有顺序的,映射规则按照先后顺序。先匹配到的优先//    cfg.CreateMap<MemberSource, MemberDestination>()//        .IncludeMembers(s => s.MemberInnerSource, s => s.MemberOtherInnerSource);//    cfg.CreateMap<MemberInnerSource, MemberDestination>(MemberList.None);//    cfg.CreateMap<MemberOtherInnerSource, MemberDestination>();//});/*二选一*///  反向映射var config3 = new MapperConfiguration(cfg =>{// IncludeMembers 里面参数是有顺序的,映射规则按照先后顺序。先匹配到的优先cfg.CreateMap<MemberSource, MemberDestination>().IncludeMembers(s => s.MemberInnerSource, s => s.MemberOtherInnerSource).ReverseMap();cfg.CreateMap<MemberInnerSource, MemberDestination>(MemberList.None).ReverseMap();cfg.CreateMap<MemberOtherInnerSource, MemberDestination>().ReverseMap();});// 使用var source3 = new MemberSource{Name = "name",MemberInnerSource = new MemberInnerSource { Name = "inner name", Description = "description" },MemberOtherInnerSource = new MemberOtherInnerSource { Title = "title", Name = "other inner name", Description = "other inner desc" }};var mapper3 = config3.CreateMapper();var dest3 = mapper3.Map<MemberDestination>(source3);//当使用反向映射时可以使用dest3.Name = "z";mapper3.Map(dest3, source3);Console.WriteLine($"{source3.Name}"); // zConsole.WriteLine($"{dest3.Title}, {dest3.Name}, {dest3.Description}"); // title, name, description or title, z, description#endregion
http://www.lryc.cn/news/111392.html

相关文章:

  • 华为Mate30报名鸿蒙 HarmonyOS 4.0.0.108 系统更新
  • elementui Cascader 级联选择使用心得
  • 【ChatGPT 指令大全】怎么利用ChatGPT写报告
  • 【枚举,构造】CF1582 C D
  • POJ 3169 Layout BellmanFord Dijkstra
  • 数据库管理员知识图谱
  • 中兴服务器支持百度“文心一言”,助力AI产业发展
  • STM 如何通过网络 time.windows.com获取时间
  • 数据结构——红黑树
  • 【C++】数据结构与算法:常用排序算法
  • 【C++】Bullet3代码存档
  • 弘扬“两弹一星”精神,勇攀科学技术高峰——道本科技商业大学党日活动圆满落幕
  • Java中创建对象的几种方式
  • Python(三)
  • android 如何分析应用的内存(十五)——Visual Studio Code 调试Android应用
  • 宁波银行最新内推码 MK4913
  • postgresql|数据库|MySQL数据库向postgresql数据库迁移的工具pgloader的部署和初步使用
  • 【Python从小白到高手】---函数基础
  • postman----传参格式(json格式、表单格式)
  • Uni-Dock:GPU 分子对接使用教程
  • 【Python】数据分析+数据挖掘——掌握Python和Pandas中的单元格替换操作
  • Godot 4 源码分析 - 增加格式化字符串功能
  • C#中XML文档与Treeview控件操作的数据同步
  • 【Java Web基础】mvn命令、Maven的安装与配置
  • 加强Web应用程序安全:防止SQL注入
  • 【云原生】k8s中Contrainer 生命周期回调/策略/指针学习
  • electron+vue3全家桶+vite项目搭建【25】使用electron-updater自动更新应用
  • SQL 表别名 和 列别名
  • 面试之快速学习c++11-函数模版的默认模版参数,可变模版,tuple
  • Visual Studio Code 常见的配置、常用好用插件以及【vsCode 开发相应项目推荐安装的插件】