Dynamics 365 OData 获取 1:N 个链接实体
Dynamics 365 OData getting 1:N linked entities
我有 account
类型的实体,当我在 Dyn365 中查看它时,它有一个部分包含相关实体的列表视图。我如何从 OData API 中获取这些相关实体?
我可以查询 api/data/v9.1/account
但相关实体不会出现在结果 json 中的任何地方。
如果我对相关实体执行相同操作,则该帐户不会出现在任何地方。如何获得这两种实体之间的 link?使用 OData API.
我试过 /accounts?$expand=contact($select=foo)
之类的方法,但它只是说联系人 属性 在帐户实体中不存在,这是正确的。但是联系人不是 属性 它是实体类型。
可能这就是您要找的。 1:N 帐户和联系人之间的关系是 contact_customer_accounts
所有账户及其相关联系人:
https://crmdev.crm.dynamics.com/api/data/v9.1/accounts?$select=name&$expand=contact_customer_accounts($select=fullname)
具有相关联系人的特定帐户:
https://crmdev.crm.dynamics.com/api/data/v9.1/accounts(73C84814-729B-EA11-A811-000D3A370DB6)?$select=name&$expand=contact_customer_accounts($select=fullname)
解决方法是使用下面的url获取所有关系的名称。
https://<company>.crm.dynamics.com/api/data/v9.1/RelationshipDefinitions?$select=SchemaName
结果是每个关系的以下行的数组。
{"@odata.type":"#Microsoft.Dynamics.CRM.OneToManyRelationshipMetadata","SchemaName":"aaa_bbb","MetadataId":"<guid>"},
然后使用这些名称,特别是 $expand
查询参数中的 SchemaName
属性。
https://crmdev.crm.dynamics.com/api/data/v9.1/accounts?
$select=<whatever>&
$expand=aaa_bbb($select=<properties from linked entity>)
要弄清楚什么关系实际上可以满足您的需要,如果您无法猜测是什么,则需要阅读更多内容,而不仅仅是 SchemaName,或者如果您知道如何通过 GUI 在 Dynamics 中查找它并且有访问权。我没有。
RelationshipDefinition
包含其他属性,例如 ReferencedEntity
ReferencingEntity
,可用于确定您是否获得了正确的关系。
我有 account
类型的实体,当我在 Dyn365 中查看它时,它有一个部分包含相关实体的列表视图。我如何从 OData API 中获取这些相关实体?
我可以查询 api/data/v9.1/account
但相关实体不会出现在结果 json 中的任何地方。
如果我对相关实体执行相同操作,则该帐户不会出现在任何地方。如何获得这两种实体之间的 link?使用 OData API.
我试过 /accounts?$expand=contact($select=foo)
之类的方法,但它只是说联系人 属性 在帐户实体中不存在,这是正确的。但是联系人不是 属性 它是实体类型。
可能这就是您要找的。 1:N 帐户和联系人之间的关系是 contact_customer_accounts
所有账户及其相关联系人:
https://crmdev.crm.dynamics.com/api/data/v9.1/accounts?$select=name&$expand=contact_customer_accounts($select=fullname)
具有相关联系人的特定帐户:
https://crmdev.crm.dynamics.com/api/data/v9.1/accounts(73C84814-729B-EA11-A811-000D3A370DB6)?$select=name&$expand=contact_customer_accounts($select=fullname)
解决方法是使用下面的url获取所有关系的名称。
https://<company>.crm.dynamics.com/api/data/v9.1/RelationshipDefinitions?$select=SchemaName
结果是每个关系的以下行的数组。
{"@odata.type":"#Microsoft.Dynamics.CRM.OneToManyRelationshipMetadata","SchemaName":"aaa_bbb","MetadataId":"<guid>"},
然后使用这些名称,特别是 $expand
查询参数中的 SchemaName
属性。
https://crmdev.crm.dynamics.com/api/data/v9.1/accounts?
$select=<whatever>&
$expand=aaa_bbb($select=<properties from linked entity>)
要弄清楚什么关系实际上可以满足您的需要,如果您无法猜测是什么,则需要阅读更多内容,而不仅仅是 SchemaName,或者如果您知道如何通过 GUI 在 Dynamics 中查找它并且有访问权。我没有。
RelationshipDefinition
包含其他属性,例如 ReferencedEntity
ReferencingEntity
,可用于确定您是否获得了正确的关系。