如何通过 Dynamics 365 CRM 中的 C# 插件填充查找字段
Posted
技术标签:
【中文标题】如何通过 Dynamics 365 CRM 中的 C# 插件填充查找字段【英文标题】:How to fill a lookup field via C# Plugin in Dynamics 365 CRM 【发布时间】:2021-11-18 14:25:21 【问题描述】:有一个联系实体;在其中一个城市查找字段, 通过控制台应用程序创建新联系人(给定详细信息名字、姓氏、城市)。 我似乎无法理解如何填写查找字段...? 这是我的代码:
// here supposed to pass in addition to lastname, A lookup parameter to fill after finding the contact
static void FillContactLookupByLastname(string lastname /*, Lookup City*/)
ConditionExpression condition1 = new ConditionExpression();
condition1.AttributeName = "lastname";
condition1.Operator = ConditionOperator.Equal;
condition1.Values.Add(lastname);
FilterExpression filter1 = new FilterExpression();
filter1.Conditions.Add(condition1);
QueryExpression query = new QueryExpression("contact");
query.ColumnSet.AddColumns("firstname", "lastname");
query.Criteria.AddFilter(filter1);
EntityCollection result1 = crmService.RetrieveMultiple(query);
Console.WriteLine(); Console.WriteLine("Query using Query Expression with ConditionExpression and FilterExpression");
Console.WriteLine("---------------------------------------");
foreach (var a in result1.Entities)
Console.WriteLine("Name: " + a.Attributes["firstname"] + " " + a.Attributes["lastname"]);
//here after finding the contact with the lastname, it has a lookup field that i need to fill but i dont know how
【问题讨论】:
【参考方案1】:您可以使用 EntityReference 类处理查找字段。
以这种方式传递EntityReference
参数
static void FillContactLookupByLastname(string lastname, EntityReference city)
然后填写值
a["city"] = city;
也不要忘记为实体调用Update
方法
crmService.Update(a);
【讨论】:
以上是关于如何通过 Dynamics 365 CRM 中的 C# 插件填充查找字段的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Cloud CRM Dynamics 365 中安装托管包时发现问题?
升级微软 dyanamics软件到 dynamics 365有啥好处
Dynamics 365 CRM - 从SSRS报告中删除外部联接重复项
Dynamics CRM 2016 VS Dynamics 365 – 启用数据加密功能报错