背景:dynamic crm在用组织服务创建数据的时候报错:Expected non-empty Guid
原因:因为给lookup字段赋值的时候,数据的guid为空。
例子:
Entity approvalInfo = new Entity("new_approvalcenter");
approvalInfo["subject"] = "测试银行";
approvalInfo["regardingobjectid"] = new EntityReference("eden_bank", new Guid("20f63327-0fbb-ec11-a12c-005056ac8d5a"));
var id = svc.Create(approvalInfo);
Entity updateTodo = new Entity("new_approvalcenter");
updateTodo.Id = new Guid("4703c443-18cc-ec11-a130-005056ac8d5a");
updateTodo["statecode"] = new OptionSetValue(1);
updateTodo["statuscode"] = new OptionSetValue(2);
updateTodo["regardingobjectid"] = approvalInfo.ToEntityReference();
svc.Update(updateTodo);
上诉例子,approvalInfo是新创建的,然后直接拿来用,因为创建的时候并不会把guid赋值给当前实例,如果赋值的话就报错:Expected non-empty Guid
解决方案:赋值方式改为如下
updateTodo["regardingobjectid"] = new EntityReference(approvalInfo.LogicalName, id);

本文介绍了在使用DynamicCRM创建数据时遇到的'Expected non-empty Guid'错误,原因在于lookup字段赋值时实体实例未获取到guid。给出了正确的赋值方式:通过LogicalName和id,避免了空值问题。
2853

被折叠的 条评论
为什么被折叠?



