Categories: Dynamics 365

How to prevent multiple users from modifying the same record at the same time programmatically?

Introduction

As we know, Dynamics CRM is used by multiple users. So the possibility of modifying the same record at a time is very high. This can result into inconsistent data.

Solution

We can avoid this with the help of concurrency control mechanism using RowVersion property.

Example

Below is a code implementing concurrency control mechanism:-

Now, if the name of the record is changed in CRM at the same time by a different user, before UpdateRequest is executed. Then, service.Execute() will give an Exception: “The version of the existing record doesn’t match the RowVersion property provided.” and it would not be executed successfully.

If you want to forcibly perform the Update operation through code, then, simply change this line as mentioned below:

updateReq.ConcurrencyBehavior = ConcurrencyBehavior.AlwaysOverwrite;

In the same way, concurrency control can be maintained, while deleting the record using DeleteRequest as mentioned below:

View Comments