Book Image

Mastering Entity Framework

By : Rahul Rajat Singh
Book Image

Mastering Entity Framework

By: Rahul Rajat Singh

Overview of this book

<p>Data access is an integral part of any software application. Entity Framework provides a model-based system that makes data access effortless for developers by freeing you from writing similar data access code for all of your domain models.</p> <p>Mastering Entity Framework provides you with a range of options when developing a data-oriented application. You’ll get started by managing the database relationships as Entity relationships and perform domain modeling using Entity Framework. You will then explore how you can reuse data access layer code such as stored procedures and table-valued functions, and perform various typical activities such as validations and error handling. You’ll learn how to retrieve data by querying the Entity Data Model and understand how to use LINQ to Entities and Entity SQL to query the Entity Data Model.</p>
Table of Contents (19 chapters)
Mastering Entity Framework
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Understanding concurrency


Concurrency management deals with allowing multiple entities to be updated simultaneously. This means effectively allowing multiple database operations on the same data simultaneously. Concurrency is a way of managing multiple operations on a database and at the same time allowing atomicity, consistency, isolation, and durability (ACID) properties of the database operations.

Note

In this chapter, we will not be discussing the details of ACID properties but we will instead focus on how to manage concurrency using Entity Framework. You are advised to read about database ACID properties if you don't know about it as this will be very helpful in understanding this and the next chapter.

To understand the problem, let's take a look at a few concurrency scenarios. Let's say we have two users accessing the same database. Here are a few scenarios where concurrent access can lead to some potential problems:

  • User 1 and user 2 are both trying to update the same entity

  • User 1 and...