【问题标题】:Difference between odata and fetchxmlodata 和 fetchxml 的区别
【发布时间】:2021-07-07 20:40:56
【问题描述】:

我想了解 odata 和 fetchxml 之间的区别,这与 MS Dynamics 中的分页有关,我对堆栈非常陌生,想了解为什么有两个对象模型本质上执行相同的任务?

问题陈述如下,我们希望我们的产品能够正确地对从 Dynamics 获得的答案进行分页,目前我们每页只能得到 5000 个答案,所以如果我们应该每页得到 6000 个答案,我们该怎么做关于它:

我了解 odata 的局限性,它只能检索记录大小 = 5000。要克服这个问题或查看下一组结果,我必须使用 @odata.nextLink 属性的值和新的 GET 请求返回下一页数据。

对于 fetchxml,同样可以选择使用分页 cookie。我的初步分析正确吗?

但我还是不明白为什么有 2 个对象模型?

【问题讨论】:

  • 分页意味着检索页面中的数据,而不是试图检索单个“页面”中的所有项目。这不是 OData 限制。您以错误的方式使用分页,或者更确切地说,您试图避免分页。不要那样做。
  • 事实上,如果您必须检索 6000 个项目,那么您有一个导出作业,而不是 API 查询。使用 FetchXML、OData 还是 GraphQL 都没有关系。 API 查询是镊子,但您正试图导出大量数据。为此有不同的工具。
  • @sgan 有任何后续问题吗?

标签: pagination dynamics-crm odata microsoft-dynamics fetchxml


【解决方案1】:

fetchxml 是原生 Dynamics CRM 查询语言,可用于最旧版本。

在 CRM 2016 更新 1 以后 (v8.0) 中引入了基于 Odata REST 的 Web api。

之前有一个基于 SOAP 的 2011 端点,现在已弃用。

您会在互联网上找到基于不同版本在不同时间点的博客/文档。 Read more

【讨论】:

  • 我怀疑真正的问题是如何批量导出数据,而不是查询它。
猜你喜欢
  • 2015-04-16
  • 2013-09-01
  • 2017-02-11
  • 1970-01-01
  • 1970-01-01
  • 2017-11-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多