我有两个对象。 ObjectA包含2个字符串属性,另一个ObjectB包含3个字符串属性和2个字典属性。我正在使用自动映射器从ObjectB映射基于键的字典值到ObjectA中的属性。
我正在尝试将A.payload [“ reportId”]映射到B.ReportID
不太确定我在这里缺少什么。
public class ObjectA
{
public string customerId { get; set; }
public string consumerId { get; set; }
public string eventType { get; set; }
public string eventId { get; set; }
public IDictionary<string, string> payload { get; set; }
public IDictionary<string, string> webhookData { get; set; }
}
public class ObjectB
{
public string CustomerID { get; set; }
public string ReportID { get; set; }
}
CreateMap<ObjectA, ObjectB>()
.ForMember(desc => desc.CustomerID, opt => opt.MapFrom(src => src.customerId))
.ForMember(desc => desc.ReportID, opt => opt.MapFrom(src => src.payload.ContainsKey("reportId") ? src.payload["reportId"] : ""));
我收到以下错误:
找到未映射的成员。在下面查看类型和成员。添加一个 自定义映射表达式,忽略,添加自定义解析器或修改 源/目标类型对于没有匹配的构造函数,请添加一个无参数 ctor,添加可选参数或映射所有构造函数参数 AutoMapper为您创建了此类型映射,但是您的类型不能为 使用当前配置映射。对象A->对象B (目标成员列表)ObjectA-> ObjectB(目标成员列表) 未映射的属性:ReportID