【发布时间】:2019-04-16 15:58:06
【问题描述】:
我正在尝试使用 C# 在 Dynamics CRM 中创建新记录。
下面是我正在使用的代码:
Entity Record = new Entity("new_edRecord");
Record["new_year"] = "2100";
Record["new_school"] = new EntityReference("new_school",new Guid("8ba53949-3947-e445-876c-001dd8b71c19"));
Record["new_gradelevel"] = "100000018";
organizationProxy.Create(Record);
执行此操作时,出现以下错误:
插件意外异常(执行): Department.EdRecord.RecordCreate: System.Collections.Generic.KeyNotFoundException:给定的密钥不是 出现在字典中。
我通过访问以下网址仔细检查了是否存在具有 GUID 的学校:
https://crm.site.com/orgname/api/data/v8.0/new_schools(8ba53949-3947-e445-876c-001dd8b71c19)
这带来了一个结果。不确定我在这里缺少什么。
【问题讨论】:
-
您是否设置了任何断点以查看示例中哪一行失败?提供的 URL 使用“new_schools”,而您使用的是“new_school”
-
是的,如果我添加 new_school 会失败。这是一个必填字段,因此需要指定。并且 new_schools 用于上层,因为 CRM 使用复数名称作为 rest api
-
我敢打赌“new_school”是当时不存在的键,或者如果它是必填字段,它可能是插入生成的标识列,因此您是不允许给它一个值?
-
问题可能出在您的 OptionSet 值上吗?您已经设置了
Record["new_year"] = "2100",但我假设应该是“2010”?您应该尝试使用 CrmSvcUtil 工具生成强类 -
您问题中的代码是 Department.EdRecord.RecordCreate 插件的一部分吗?
标签: c# dynamics-crm crm dynamics-crm-2015