在Automapper使用中会碰到一些未能映射或者错误的问题,这些问题可能会经常忘记如何处理,想到一些就记录一些:

  • 映射值有时为空又不报错的情况

  这很可能是由于目标类中的部分属性有问题导致的,最简单的方式为使用排除法,将可能有问题的属性Ignore掉。嵌套类型也可以这样排查。

  • ProjectTo时,ForMember不可使用延迟加载

  以下为例,不加ToList()则Actions的值是延迟映射,结果是无法正确获取的,或者会导致获取时针对CommonAction生成大量SQL语句

CreateMap<View, ViewDto>().ForMember(d => d.ParentName, s => s.MapFrom(x => x.ParentID.HasValue ? x.ParentView.Name : null)).ForMember(d => d.ParentUrl, s => s.MapFrom(x => x.ParentID.HasValue ? x.ParentView.URL : null)).ForMember(d => d.ShowInMenu, s => s.MapFrom(x => x.Show)).ForMember(d => d.Actions, s => s.MapFrom(x => x.ViewAction.Select(ca => ca.CommonAction.Name).OrderBy(ca => ca).ToList())).ForMember(d => d.Level, s => s.Ignore()).ForMember(d => d.IsLeaf, s => s.Ignore()).ForMember(d => d.Icon, s => s.Ignore())

  正常:

  

  否则:

转载于:https://www.cnblogs.com/ceci/p/10074880.html

Automapper问题记录相关推荐

  1. 分享一个简单程序(webApi+castle+Automapper+Ef+angular)

    前段时间在周末给朋友做了一个小程序,用来记录他们单位的一些调度信息(免费,无版权问题).把代码分享出来.整个程序没有做任何架构.但是麻雀虽小,用到的技术也没少.WebApi+Castle+AutoMa ...

  2. ASP.NET Core 1.0 开发记录

    ASP.NET Core 1.0 更新比较快(可能后面更新就不大了),阅读注意时间节点,这篇博文主要记录用 ASP.NET Core 1.0 开发简单应用项目的一些记录,以备查阅. ASP.NET C ...

  3. AutoMapper学习笔记

    进入公司后学习到的东西,之前记录在github上 现在搬运过来 AutoMapperDemo 需要安装两个包 AutoMapper AutoMapper.Extensions.Microsoft.De ...

  4. 开发小技巧(日常记录)

    日常的开发笔记----定期随手更新 C#开发: TimestampHelper时间戳转换工具 using System; using System.Collections.Generic; using ...

  5. Automapper如何全局配置map条件过滤null值空值对所有映射起效

    我们在使用automapper的时候经常会遇到这样的问题:假设展示给用户的数据我们用UserDto类,User类就是我们的实体类.在给用户编辑的时候,我们可能某些字段在数据库中为Null,这时候需要一 ...

  6. AutoMapper的源码分析

    最近有一个小项目需要提供接口给第三方使用,接口会得到一个大的XML的字符串大约有8个对象100多个字段,在映射到Entity只能通过反射来赋值避免重复的赋值,但是明显感觉到性能下降严重,因为以前接触过 ...

  7. 第9章 初识SqlSugarCore之AutoMapper

    1 AutoMapperExtensions(以泛型形式,扩展) using AutoMapper; namespace Web.Extensions { /// <summary> // ...

  8. 【AutoMapper官方文档】DTO与Domin Model相互转换(下)

    Mapping Inheritance-映射继承 关于映射继承,其实在"Lists and Array-集合和数组"这一节点有提到,但是只是说明下AutoMapper解决映射继承所 ...

  9. mysql建立联合索引,mysql建立唯一键,mysql如何解决重复记录联合索引

    在项目中,常常要用到联合唯一   在一些配置表中,一些列的组合成为一条记录.   比如,在游戏中,游戏的分区和用户id会形成一条记录.(比如,一个qq用户可以在艾欧尼亚.德玛西亚创建两个账号) 添加联 ...

  10. 实现 连续15签到记录_MySQL和Redis实现用户签到,你喜欢怎么实现?

    现在的网站和app开发中,签到是一个很常见的功能 如微博签到送积分,签到排行榜 微博签到 如移动app ,签到送流量等活动, 移动app签到 用户签到是提高用户粘性的有效手段,用的好能事半功倍! 下面 ...

最新文章

  1. APC UPS网络管理卡 (AP9606/9617/9618/9619)的快速安装及配置指南
  2. finally代码块
  3. UIImageJPEGRepresentation和UIImagePNGRepresentation
  4. rss聚合模式案例_RSS的完整形式是什么?
  5. 还原二叉树--根据后序中序输出先序
  6. Linux内核配置选项简介
  7. 跨终端游戏平台:腾讯START云游戏 for Mac
  8. 【数据分析 R语言实战】学习笔记 第六章 参数估计与R实现(上)
  9. 虚拟串口VSPD_V10.0.944官方最新版
  10. idea快速搭建ssm框架
  11. 一文教你学会使用 th:block
  12. 北京航空航天大学研究生院计算机科学与技术哪个方向偏嵌入式,北京航空航天大学研究生专业介绍:计算机科学与技术...
  13. 飞扬的小鸟JavaScript实现
  14. 【can总线】stm32的can控制器
  15. Arduino循迹小车教程四----代码篇
  16. 黑马57期视频免费下载
  17. NOIP 模板整理(多图预警╮(╯▽╰)╭)
  18. 常见的POST提交数据方式
  19. 写文章一年多以来,我经历了被喷被拉黑被赞美,我哭了
  20. 宠物猫家具定制 喵喵的家 个性化定制还可以这样操作

热门文章

  1. idea装vue插件之后没有代码提示怎么办呢
  2. 配置管理工具---SVN
  3. 补坑:Prufer 编码总结
  4. 字符串反转的进一步应用----单词反转
  5. QQ2011的DD包密码验证报文解密密钥计算困惑之二
  6. 让IIS支持中文文件名和目录
  7. mfc遍历指定文件夹下的所有文件并排序
  8. Roland SRX Series for Mac - 罗兰SRX系列音频插件合集
  9. iOS 面试题分析(一)
  10. Cannot change version of project facet Dynamic Web Module to 2.5解决方案