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

In Dynamics 365 API, How to reference proper ownership entity for detail when owner can be systemuser or team?

使用版本 9。

我可以在组织服务上很好地使用 SDK 来检索实体上的实体更改,在此示例中,我们假设机会实体上的所有更改。

这将给我一组自上次数据版本以来发生变化的记录。

机会记录上有一个名为 "ownerid" 的外键,它可以指向系统用户 entity/table 或团队 entity/table 上的主要属性。如果我需要有关所有者的详细信息,我不知道如何在我的代码上下文中弄清楚它加入了这两个中的哪一个。

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

我还没有尝试过 RetrieveEntity,但如果我不得不在从 RetrieveEntityChanges 返回的每条记录上调用 RetriveEntity 只是为了这个目的,这似乎会很啰嗦。

一定有更好更高效的方法吗?

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

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