0

I would like understand the difference between odata and fetchxml, this has to do with pagination in MS Dynamics, I am very new to the stack and would like to understand why there are two object models that essentially perform the same tasks?

the problem statement is as follows, we want our product to properly page answers it gets from Dynamics, currently we can only get 5000 answers per page, so if we are supposed to get say 6000 answers per page, how would we go about it:

I understand the limitations of odata, it can only retrieve record size = 5000. To overcome this or see the next set of results, I would have to use the value of the @odata.nextLink property with a new GET request to return the next page of data.

Similarly for fetchxml, there is the option to use paging cookie. Is my initial analysis correct?

But I still do not understand why there are 2 object models?

sgan11
  • 11
  • Paging means retrieving data in pages, not trying to retrieve all items in a single "page". That's not an OData limitation. You're using paging the wrong way, or rather, you're trying to avoid paging. Don't do that. – Panagiotis Kanavos Apr 15 '21 at 08:37
  • In fact, if you have to retrieve 6000 items, you have an export job, not an API query. It doesn't matter whether you use FetchXML, OData or GraphQL. API queries are tweezers but you're trying to export a truckload of data. There are different tools for this. – Panagiotis Kanavos Apr 15 '21 at 08:40
  • @sgan any follow up questions? – Arun Vinoth-Precog Tech - MVP Apr 16 '21 at 18:07

1 Answers1

0

fetchxml is native Dynamics CRM querying language available from oldest versions.

Odata REST based web api was introduced in CRM 2016 update 1 onwards (v8.0).

There was a SOAP based 2011 endpoint before, its deprecated now.

You will find blogs/documentation over the internet based on different versions in different point of time. Read more