是否可以使用 web api 从 CRM 获取实体可用的所有关系?

Sai*_*naG 3 javascript dynamics-crm dynamics-crm-webapi

我需要分别在 HTML 页面上获取和显示实体的所有可用关系。例如:如果我在 html 页面中选择 Account,我应该可以看到 Account Entity 的 1:N、N:1 和 N:N 关系。

我在下面尝试过,查询和我觉得,这些都没有正确帮助我,请建议我一个解决方法来实现这个目标。

https://<CRMORGNAME>/api/data/v8.2/RelationshipDefinitions/Microsoft.Dynamics.CRM.ManyToOneRelationshipMetadata?$select=Entity1LogicalName,SchemaName&$filter=Entity1LogicalName eq 'account'

https://<CRMORGNAME>/api/data/v8.2/RelationshipDefinitions?$select=RelationshipType,SchemaName
Run Code Online (Sandbox Code Playgroud)

Paw*_*cki 5

您可以通过以下方式执行此操作:

一对多:

https://contoso.crm.dynamics.com/api/data/v8.2/EntityDefinitions(70816501-edb9-4740-a16c-6a5efbc05d84)/OneToManyRelationships?$select=SchemaName,RelationshipType
Run Code Online (Sandbox Code Playgroud)

多对一:

https://contoso.crm.dynamics.com/api/data/v8.2/EntityDefinitions(70816501-edb9-4740-a16c-6a5efbc05d84)/ManyToOneRelationships?$select=SchemaName,RelationshipType
Run Code Online (Sandbox Code Playgroud)

多对多:

https://contoso.crm.dynamics.com/api/data/v8.2/EntityDefinitions(70816501-edb9-4740-a16c-6a5efbc05d84)/ManyToManyRelationships?$select=SchemaName,RelationshipType
Run Code Online (Sandbox Code Playgroud)

当然,您应该首先获得正确的 EntityDefinition id(在这种情况下,'70816501-edb9-4740-a16c-6a5efbc05d84' 用于帐户)

https://contoso.crm.dynamics.com/api/data/v8.2/EntityDefinitions?$select=SchemaName,LogicalName,MetadataId&$filter=LogicalName eq 'account'
Run Code Online (Sandbox Code Playgroud)

  • @SaiKrishna,两件事:您不需要获得元数据 ID。`EntityDefinitions` 可以通过 `LogicalName` 查询。您可以在单个请求中获取所有关系:`http://contoso.crm.dynamics.com/api/data/v8.2/EntityDefinitions(LogicalName='account')?$select=LogicalName&amp;$expand=ManyToManyRelationships,ManyToOneRelationships ,OneToManyRelationships`。 (2认同)