AutoMapper将对象映射到MS Dynamics CRM中的查找字段
我正在尝试使用AutoMapper进行映射。
源对象是C#对象
public class Source
{
public string comment { get; set; }
public string Subject { get; set; }
public Account Account{ get; set; }
}
public class Account
{
public string FirstName{ get; set; }
public string LastName{ get; set; }
}
我的目标是一个名为crm_destination的CRM实体,它具有评论,Subject等字段,但它也有一个类型为Account的LookUp字段 帐户 。
但我不知道如何映射LookUp字段。
以下是我的Automapper
AutoMapper.Mapper.CreateMap<Source, Destinaetion>()
.ForMember(dest => dest.comment, opt => opt.MapFrom(src => src.comment))
.ForMember(dest => dest.account, opt => opt.MapFrom(src => src.account));
.ForMember(dest => dest.account,opt => opt.MapFrom(src => src.account))抛出类型不匹配的错误..
基本上我的问题是我不知道如何映射CRM实体的目的地的LookUp字段。
您需要在AutoMapper中使用自定义解析器。 在您的自定义解析器中,您需要查询CRM以获取与您的Account
对象相匹配的account
记录的ID,并将EntityReference返回给此对象。
查找在CRM中作为EntityReferences存储。 所以您需要将您的帐户转换为EntityReference。
我从来没有使用过AutOMapper,但Nicknow建议是有道理的。 只需在实体上调用ToEntityReference()
方法即可。
我解决了它。 查找会创建一个关系。 我的lookp创建了关系名称cxrm_account_cxrm_source_account
所以而不是.ForMember(dest => dest.account,opt => opt.MapFrom(src => src.account))
我做到了
.ForMember(dest => dest.cxrm_account_cxrm_source_account,opt => opt.MapFrom(src => src.Account))
现在它正在工作
链接地址: http://www.djcxy.com/p/37373.html上一篇: AutoMapper map object to Lookup field in MS Dynamics CRM