Reduce potential data loss using optimistic concurrency

On a multi-threaded and multi-user system like Microsoft Dynamics CRM, operations and data changes often happen in parallel.

A problem arises when two or more update or delete operations on the same piece of data happen at the same time. This situation could potentially result in data loss.

Provided in the CRM Online 2015 Update 1 SDK release is the ability for your applications to detect whether an entity record has changed on the server in the time between when your application retrieved the record and when it tries to update or delete that record.

Optimistic concurrency (OC) is supported on all out-of-box entities enabled for offline sync and all custom entities. You can determine if an entity supports OC by retrieving the entity’s metadata through an SDK call, or by viewing the metadata using the Metadata Browser, and check if the attribute IsOptimisticConcurrencyEnabled is set to true. For custom entities, this property is set to true by default.

Note

  • For Microsoft Dynamics CRM Online organizations, this feature is available only if your organization has updated to Dynamics CRM Online 2015 Update 1. This feature is not available for Dynamics CRM (on-premises).

Read more: https://msdn.microsoft.com/en-us/library/dn932125.aspx