【问题标题】:AutoMapper map object to Lookup field in MS Dynamics CRMAutoMapper 将对象映射到 MS Dynamics CRM 中的 Lookup 字段
【发布时间】:2014-05-03 11:02:44
【问题描述】:

我正在尝试使用 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 实体,它具有诸如评论、主题之类的字段,但它还有一个 查找字段 类型为 Account 的帐户。

但我不知道如何映射 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)) 抛出类型不匹配的错误..

基本上我的问题是我不知道如何将查找字段映射到 CRM 实体为目的地的位置。

【问题讨论】:

    标签: dynamics-crm-2011 dynamics-crm automapper automapping automapper-3


    【解决方案1】:

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

    我从未使用过 AutoOMapper,但 Nicknow 的建议是有道理的。只需在 Entity 上调用 ToEntityReference() 方法即可。

    【讨论】:

    • 但是你能告诉我我必须在代码中做哪些更改(自动映射器)
    • 如何将对象转换为实体引用??
    【解决方案2】:

    您需要在 AutoMapper 中使用 custom resolver。在您的自定义解析器中,您需要查询 CRM 以获取与您的 Account 对象匹配的 account 记录的 ID,并返回此对象的 EntityReference。

    【讨论】:

      【解决方案3】:

      我解决了。查找创建关系。我的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))

      现在可以正常使用了

      【讨论】:

      • 如何获得 Dynamics CRM 的 AccountID?您的Account 对象没有Guid,但您需要Guid。上面的更改与您问题中的代码不匹配,您需要在此处进行编辑。
      • 我不需要获取帐户 ID。它使用新的 GUID 生成新记录(帐户)。只有在需要检查记录是否存在时才需要获取 GUID。
      • 我不知道你为什么给答案 -1 但上面的解决方案对我有用..
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多