我创建了一个插件来在另一条记录上的字段更改时创建新记录。我已经全部设置好了,但是当我运行它时,没有创建任何记录,并且 CRM 返回 SQL 超时错误。我的代码如下:
Entity contactSecurityRole = new Entity("sb_contactsecurityrole");
contactSecurityRole["sb_contactid"] = linkedContact;
contactSecurityRole["sb_contactportalsettingid"] = linkedContactPortalSetting;
contactSecurityRole["sb_portalsettingid"] = linkedPortalSetting;
contactSecurityRole["sb_portalsecurityroleid"] = linkedSecurityRole;
Service.Create(contactSecurityRole);
所有名称以“链接”开头的变量都是对其他实体的实体引用,因为记录由查找字段组成。我已经做了一些检查,它停止的地方就是实际Service.Create()
部分的位置。
有人可以给我一些关于检查什么的提示,以便我找出发生这种情况的原因吗?
更新:
我发现了问题,Greg 是对的,这是我上面发布的代码之外的问题。问题是我如何设置我的“链接”变量之一,我试图使用获取请求来检索我需要链接到的记录的 Guid,我正在从中设置实体引用。
我犯的错误是认为 fetch 返回了一个 Guid,而它实际上返回了一个实体引用本身。因此,一旦我得到修复,代码几乎立即运行。我的猜测是,因为我设置错误,所以在创建实体时,CRM/SQL Server 可以输入值,所以它返回了错误。
感谢大家对此的帮助