在尝试创建设备记录时,业务单元Id不能设置为空

本文关键字:Id 单元 业务 不能 设置 创建 记录 | 更新日期: 2024-09-24 16:07:27

我试图用以下代码创建一个设施/设备,但我收到一个错误,说"业务单元id不能设置为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");
}

提前谢谢。

在尝试创建设备记录时,业务单元Id不能设置为空

查询结果中的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");
}