automapper - 表达式 'dest => dest.Request.ID' 必须解析为顶级成员,而不是任何子对象的属性
问题描述
我想知道为什么我们会收到这个错误,以及如何在不为各个类创建单独映射的情况下解决它。
我有两个要自动映射的类。我对其他两个类采用了相同的方法,它被完美地映射,但对于这些类,它没有被映射并抛出错误。
public class DecisionRequestResponse
{
public string ReqId { get; set; }
public string Decision { get; set; }
public string ReasonId { get; set; }
public string NotUsedInDecision { get; set; }
public string SrcEQ { get; set; }
public string SrcTU { get; set; }
public string SrcBancoInternal { get; set; }
public string SrcExternal { get; set; }
public string ReasonCodeId { get; set; }
}
public class DecisionRequestResponseObj
{
public REQUEST Request { get; set; }
public REQUESTEXT RequestExt { get; set; }
public REQDECISIONREASON ReqDecisionReason { get; set; }
}
CreateMap<DecisionRequestResponse, DecisionRequestResponseObj>()
.ForMember(dest => dest.Request.ID, opt => opt.MapFrom(src => src.ReqId))
.ForMember(dest => dest.Request.PROPOSEDAMTTOTAL, opt => opt.MapFrom(src => src.EvaluatedAmt))
.ForMember(dest => dest.RequestExt.ID, opt => opt.MapFrom(src => src.ReqId))
.ForMember(dest => dest.RequestExt.TEMPDECISIONSTATUSCD, opt => opt.MapFrom(src => src.Decision))
.ForMember(dest => dest.ReqDecisionReason.ID, opt => opt.MapFrom(src => src.ReasonId))
.ForMember(dest => dest.ReqDecisionReason.REQID, opt => opt.MapFrom(src => src.ReqId))
.ForMember(dest => dest.ReqDecisionReason.NOTUSEDINDECFLG, opt => opt.MapFrom(src => src.NotUsedInDecision));
解决方案
推荐阅读
- angular - 使用两种不同的可能路线实现主页
- c++ - 注册 PCL + kinect
- python - 用于匹配 IPv4 地址的正则表达式
- java - 多消费者无锁队列的实现
- php - 使用PHP在foreach中过滤数组
- php - PHP fwrite() 性能和内存问题
- oracle - 日期 sysdate 范围与文字日期范围之间的 Oracle
- ruby-on-rails - 检测到 Heroku 不支持的 sqlite3 gem:我的项目中没有 sqlite3
- excel - 在没有 Excel 窗口的情况下运行 VBScript 时,有没有办法使用 ActiveWindow.DisplayFormulas?
- apache-spark - spark本地模式不尊重 spark.app.id 属性