Pessimistic concurrency deals with acquiring database locks on the data that is being used by a user. Whenever a user reads a row from the database, a read-only lock is acquired on this record. Other users can also request a read-only lock during this period. If a user requests an update, an update lock is acquired on the row and until this lock is released, no other users are allowed to read or update the data of this row.
Acquiring and releasing locks is a resource intensive process. Also, the application needs to take care of these locks which would mean added complexity in the application. Here are a few disadvantages of using pessimistic concurrency control:
Applications tend to consume more memory, as holding locks will need more memory
The overall performance of the application will be slower because the chances of requests waiting for locks to be released will increase with more users
If we are using Entity Framework, LINQ to Entities will...