【问题标题】:Dynamics CRM Plugin LookupDynamics CRM 插件查找
【发布时间】:2019-12-18 04:01:21
【问题描述】:

我正在为 Dynamics CRM 编写插件。 我的场景: 我有 2 个实体。 StudentDataRawLanguage

我正在尝试将 StudentDataRaw 实体映射到 StudentData 实体。 StudentDataRaw 实体有语言的文本框。 如何根据“StudentDataRaw”实体的文本框值(即英语/西班牙语)获取“语言”实体的 GUID。

studentObj.Language = rawContactImport.Contains("Language") ? ((EntityReference)rawStudent["Language"]) : null;

这行不通,因为

((EntityReference)rawStudent["Language"])

包含文本框值(即英语/西班牙语)

我需要获取语言实体的英语/西班牙语记录的 GUID。

我怎样才能得到它?

【问题讨论】:

  • 任何后续问题?

标签: c# plugins dynamics-crm


【解决方案1】:

如果是插件,您可以使用service.RetrieveMultiple 查询Language 实体,通过使用Name = “Spanish”Name = rawStudent["Language"] 进行过滤以获取GUID。您可以使用 fetchxml 或 QueryExpression。 Read more

    private static EntityCollection GetEntityCollection(IOrganizationService service, string entityName, string attributeName, string attributeValue, ColumnSet cols)
    {
        QueryExpression query = new QueryExpression
        {
            EntityName = entityName,
            ColumnSet = cols,
            Criteria = new FilterExpression
            {
                Conditions =
                {
                    new ConditionExpression
                    {
                        AttributeName = attributeName,
                        Operator = ConditionOperator.Equal,
                        Values = { attributeValue }
                    }
                }
                                }
                            };
                return service.RetrieveMultiple(query);
    }

通过传递参数调用上述可重用方法:(确保根据您的需要修改架构名称并参数化Spanish 过滤器)

var language = GetEntityCollection(_orgService, "Language_entityschemaname", "new_name", "Spanish", new ColumnSet("languageid", "new_name"));
Guid languageid = (Guid)language[0].Id;

如果是数据导入工作,并且语言是有限的数据,例如两个条目,即。英语和西班牙语,我建议你维护一个enum,基本上是一个键:值对来内联切换它,而不是在批处理操作中查询每一行。

无论哪种情况,代码如下所示:

studentObj.Language = new EntityReference("Language_entityschemaname", new Guid(languageid));

【讨论】:

    猜你喜欢
    • 2017-07-09
    • 1970-01-01
    • 2018-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多