尝试创建设备记录时无法将业务单位 ID 设置为空错误
Business Unit Id cannot be set to null error trying to create equipment record
我试图用以下代码创建一个 facility/equipment,但我收到一条错误消息 "business unit id cannot be set to NULL"
我的 crm 2016 中只创建了一个业务部门
这是我的代码:
string fetchBU = @"<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'>
<entity name='businessunit'>
<attribute name='name' />
<attribute name='address1_telephone1' />
<attribute name='websiteurl' />
<attribute name='parentbusinessunitid' />
<attribute name='businessunitid' />
<order attribute='name' descending='false' />
</entity>
</fetch>";
EntityCollection resultequipments = _orgService.RetrieveMultiple(new FetchExpression(fetchBU));
if (resultequipments.Entities.Count > 0)
{
Guid BuId;
BuId = (Guid)resultequipments.Entities[0]["businessunitid"];
Entity equipment = new Entity("equipment");
equipment["name"] = "test";
equipment["businessunitid"] = BuId;
_orgService.Create(equipment);
Console.WriteLine("Facility successfully created");
}
提前致谢。
您查询结果中的businessunitid
属性为主键,即Guid
类型。
equipment
实体中的 businessunitid
属性是一个查找,由 EntityReference
对象表示。
您不能将 Guid
分配给 EntityReference
属性。修改您的代码类似于:
EntityCollection businessUnits = _orgService.RetrieveMultiple(new FetchExpression(fetchBU));
if (businessUnits.Entities.Count > 0)
{
Entity equipment = new Entity("equipment");
equipment["name"] = "test";
equipment["businessunitid"] = new EntityReference("businessunit", businessUnits.Entities[0].Id);
_orgService.Create(equipment);
Console.WriteLine("Facility successfully created");
}
我试图用以下代码创建一个 facility/equipment,但我收到一条错误消息 "business unit id cannot be set to NULL"
我的 crm 2016 中只创建了一个业务部门 这是我的代码:
string fetchBU = @"<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'>
<entity name='businessunit'>
<attribute name='name' />
<attribute name='address1_telephone1' />
<attribute name='websiteurl' />
<attribute name='parentbusinessunitid' />
<attribute name='businessunitid' />
<order attribute='name' descending='false' />
</entity>
</fetch>";
EntityCollection resultequipments = _orgService.RetrieveMultiple(new FetchExpression(fetchBU));
if (resultequipments.Entities.Count > 0)
{
Guid BuId;
BuId = (Guid)resultequipments.Entities[0]["businessunitid"];
Entity equipment = new Entity("equipment");
equipment["name"] = "test";
equipment["businessunitid"] = BuId;
_orgService.Create(equipment);
Console.WriteLine("Facility successfully created");
}
提前致谢。
您查询结果中的businessunitid
属性为主键,即Guid
类型。
equipment
实体中的 businessunitid
属性是一个查找,由 EntityReference
对象表示。
您不能将 Guid
分配给 EntityReference
属性。修改您的代码类似于:
EntityCollection businessUnits = _orgService.RetrieveMultiple(new FetchExpression(fetchBU));
if (businessUnits.Entities.Count > 0)
{
Entity equipment = new Entity("equipment");
equipment["name"] = "test";
equipment["businessunitid"] = new EntityReference("businessunit", businessUnits.Entities[0].Id);
_orgService.Create(equipment);
Console.WriteLine("Facility successfully created");
}