x

Agile Insider Blog

Using OData Retrieve in Microsoft Dynamics CRM 2011 with JavaScript (ATOM or JSON)

With the release of Microsoft Dynamics CRM 2011, we have added a new Windows Communication Foundation (WCF) data services (ODATA) endpoint. The endpoint facilitates CRUD operation on entities via scripts using Atom or Json format. In this blog I would be talking about some of the considerations when using the endpoint, specifically around the use of retrieves.

First, the operations supported over this endpoint are limited to create, retrieve, update and delete. The REST philosophy does not support other operations and so we followed J. We did not implement others since the story around service operations is not fully developed in the current WCF data services offering.

The $format and $inlinecount operators are not supported. We only support the $filter, $select, $top, $skip, $orderby

Some of the restrictions when using the implemented operators are.

Some of the restrictions when using the implemented operators are.

Operator Restrictions
$expand · Max expansion 6
$top · Page size is fixed to max 50 records· $top gives the total records returned across multiple pages
$skip · When using with distinct queries, we are limited to the total (skip + top) record size = 5000.· In CRM the distinct queries does not use paging cookie are and so we are limited by the CRM platform limitation to the 5000 record.
$select · One level of navigation property selection is allowed I.e.…/AccountSet?$select=Name,PrimaryContactId,account_primary_contact

…/AccountSet?$select=Name,PrimaryContactId,account_primary_

contact/LastName&$expand=account_primary_contact

$filter · Conditions on only one group of attributes are allowed. By a group of attribute I am referring to a set of conditions joined by And/Or clause.· The attribute group may be on the root entity

…/TaskSet?$expand=Contact_Tasks&$filter=Subject eq ‘test’ and Subject ne null

· (or) on the expanded entity.

…/TaskSet?$expand=Contact_Tasks&$filter=Contact_Tasks/FirstName eq ‘123‘

· Arithmetic, datetime and math operators are not supported

· Under string function we support Substringof, endswith, startswith

$orderby · Order are only allowed on the root entity.
Navigation · Only one level of navigation is allowed in any direction of a relationship. The relationship could be 1:N, N:1, N:N

Cheers,
Shashi Ranjan

Read the article source @> Using OData Retrieve in Microsoft Dynamics CRM 2011 – Microsoft Dynamics CRM Team Blog – Site Home – MSDN Blogs

Please check us out for your Managed Service or Cloud Consulting needs.

Leave a comment

Learn More Today

Have questions or want to learn more about the services and solutions Agile IT has to offer?

Schedule a call with us today!

Schedule a Call
or

Request a Quote