使用Web API查询在Dynamics-CRM中获取实体属性值

时间:2019-07-15 11:08:26

标签: jquery asp.net-web-api dynamics-crm

我有一个任务来制作一个搜索页面(HTML),其中有两个drop downs和一个textbox和一个grid,其中动态加载了数据(我正在使用JQuery和Web API查询以动态获取数据。

第一个dropdown框将包含CRM的所有实体,从第一个dropdown框选择实体后,第二个dropdown框将使用属性名称(实体中的列名称为自定义),然后将在表格中加载属性及其值。

我创建了一个Web API查询来获取自定义属性,但是我无法在单个查询中获取该属性的值。

我创建了此查询以获取自定义属性。但是我无法获取该属性的值。在此查询中,test_policy是动态获取的。

https://halfstack.crm8.dynamics.com/api/data/v9.1/EntityDefinitions(LogicalName='test_policy')?$select=LogicalName&$expand=Attributes($select=LogicalName,AttributeType,DisplayName;$filter=AttributeType ne Microsoft.Dynamics.CRM.AttributeTypeCode'Lookup'and AttributeType ne Microsoft.Dynamics.CRM.AttributeTypeCode'Customer' and IsCustomAttribute eq true)

我创建了此查询以获取属性的值,但我无法仅获取实体的“自定义属性”。该查询将获取实体的所有属性。

https://halfstack.crm8.dynamics.com/api/data/v9.1/test_policies?$select=*

我想在单个API查询中获取“自定义列”及其值。 enter image description here

1 个答案:

答案 0 :(得分:0)

在CRM数据库中,有两种类型的数据:

  • 业务数据(帐户,联系人,潜在客户,来自自定义实体的数据, 等)
  • 元数据(实体定义,属性定义, 关系定义)-基本上是所需的数据 对CRM业务数据以及业务之间的关系进行建模 数据表。导出解决方案时将获得元数据

从数据角度来看,MetaData表和Business Data表中的条目彼此独立,因此无法联接这些表,因此您可以从中获得属性的显示名称和字段值同一请求中的实体。您需要执行单独的请求。

Microsoft还将其记录为单独的请求(查询数据和查询元数据): https://docs.microsoft.com/en-us/powerapps/developer/common-data-service/webapi/query-metadata-web-api https://docs.microsoft.com/en-us/powerapps/developer/common-data-service/webapi/query-data-web-api

要回答与如何仅获取您感兴趣的字段有关的其他问题,可以将这些参数作为参数传递到选择系统查询选项,如此处记录:https://docs.microsoft.com/en-us/powerapps/developer/common-data-service/webapi/query-data-web-api#request-specific-properties

在您的情况下,它看起来像https://halfstack.crm8.dynamics.com/api/data/v9.1/test_policies?$ select = new_field1,new_field2,new_field3,_new_lookupfield_value等