top of page

CRM 2015 oData Vs CRM 2016 Web API – Part 1 – Entities Properties




This is my first post on the subject CRM 2015 oData Vs CRM 2016 Web API.

I will start with for me something that took me some time to understand and use properly when upgrading from CRM 2015 to CRM 2016 on the client side


With the Web API, now we have two different types of fields (properties), the primitive properties and the lookup properties (navigation properties).




Primitive types


OData supports a wide range of data types but Microsoft Dynamics CRM doesn’t use all of them. The following table describes how CRM Organization service types are mapped to OData primitive types.


Navigation properties




In OData, navigation properties allow you to access data related to the current entity. When you retrieve an entity you can choose to expand navigation properties to include the related data. There are two types of navigation properties: single-valued and collection-valued.


The lookup properties as the name says, it represents a lookup (lookup, owner, partylist) in one entity to another, whereas primitive properties are the others (money, string, decimal, integer,status,…)


After a retrieve of an entity data, primitive properties can be used like (account.name), on the other hand, the navigation properties have to be used like 

account["primarycontactid@odata.bind"] = "/contacts(" + primaricontactGuid + ")";

For more information please follow the MSDN link: 


Hope it helps.



1 view0 comments

Recent Posts

See All

CRM 365 On Prem – Import CRM 2016 Organization

For the last days working on testing new features of CRM 365 Online, CRM 2016/365 On Prem and few more things. And again, i had another issue, this one is really annoying, but let me explain what happ

Importing Solution in CRM 2016 Issue

Yesterday i was deploying to another environment a solution and the import was failing. The error in the log file was while importing a Process: Failure 0x80040359 The Microsoft Dynamics CRM record co

bottom of page