问题描述
为了制定 FetchXML Web 请求,我必须两次使用实体名称,一次(以复数形式)在 URL 中,一次(以单数形式)在 fetchXML 查询文档中:
https://abcdef.ghi/fghjkl/api/data/v8.0/transactioncurrencies=<fetch ... <entity name='transactioncurrency'>... >
^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^
我想知道为什么这是因为我觉得这是多余的。
问题的背景是,我想提交任何 fetch-XML 文档,而无需先将其解析为 entity name='....'
,然后使用在 URL 中找到的实体名称来提交文档。
解决方法
我没有明确的答案,但 OData 规范可能需要它,请记住,在此特定查询中,fetchxml 是一个参数,它没有(明确)定义您正在操作的实体。
>请注意复数/单数形式,大多数情况下您有复数形式,在某些情况下(自定义实体)您会得到混合结果,在某些情况下(标准实体)您会得到完全不同的结果,例如“ webresourceset”,即“webresource”实体的集合。
我的意见?他们应该在 OData 中使用单数形式
,也许这会有所帮助,根据 CRM 的文档,在 web api 中,他们使用实体集的名称来制作 url。该实体集对应实体元数据的“LogicalCollectionName”属性值。
你可以像这样检索这个属性值:
AddChallengeView
结果如下:
.../api/data/v9.0/EntityDefinitions?$filter=LogicalName eq 'xxxx'&$select=LogicalCollectionName
正如他们所指出的,甚至可以更改此名称以更改调用 url 的方式:
问候