在Dynamics 365 API中,当所有者可以是系统用户或团队时,如何详细参考适当的所有权实体?

时间:2019-04-04 20:18:27

标签: dynamics-crm dynamics-365 dynamics-crm-365

使用版本9。

我能够在组织服务上很好地使用SDK来检索实体上的EntityChanges,在这个示例中,我们可以说机会实体上的所有更改。

这将为我提供自上一个dataVersion以来已更改的记录集。

机会记录上有一个名为“ ownerid”的外键,它可以指向系统用户实体/表或团队实体/表上的主属性。如果我需要有关所有者的详细信息,我不知道如何在我的代码上下文中找出这两个对象中的哪一个。

RetrieveEntityChanges不会使用owneridtype属性进行响应,因此,查询也不会构造并传递给RetrieveMultiple。

我还没有尝试过RetrieveEntity,但是如果我仅出于此目的而不得不在从RetrieveEntityChanges返回的每条记录上都调用RetriveEntity,这似乎很闲谈。

必须有一种更好,更有效的方法吗?

任何技术见解将不胜感激。

1 个答案:

答案 0 :(得分:1)

创建RetrieveEntityChangesRequest时,请在ColumnSet中设置 owningteam owninguser 而不是 ownerid 。这样,当记录所有权更改时,您的NewOrUpdateEntity AttributeSet将仅包含这两个字段之一,其值将是对团队或用户的EntityReference。