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实体,它有注释、主题等字段,但也有一个LookUp字段帐户类型。

但我不知道如何映射LookUp字段

以下是我的自动映射

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((正在引发类型不匹配的错误。。

基本上我的问题是我不知道如何将LookUp字段映射到CRM实体的目的地

您需要在AutoMapper中使用自定义解析器。在自定义冲突解决程序中,您需要查询CRM以获取中与Account对象匹配的account记录的ID,并向该对象返回EntityReference。

查询存储为CRM中的EntityReferences。因此,您需要将您的帐户转换为EntityReference。

我从来没有用过AutOMapper,但Nicknow的建议是有道理的。只需在Entity上调用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((

现在它正在上运行

相关内容

  • 没有找到相关文章

最新更新