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

Choosing the appropriate transaction management


Now that we know the various ways to handle transactions using Entity Framework, let's try to see which technique should be used in which scenarios:

  • If we have only one DbContext class, then we should try to use the default transaction management of Entity Framework. We should always try to implement our application in such a way that all the operations constituting a single unit of work get executed within the scope of the same DbContext object, and the SaveChanges() method will take care of committing the transaction.

  • If we use multiple DbContext objects, then perhaps putting the calls within the scope of a TransactionScope object is the best way to manage the transactions.

  • If we want to execute raw SQL queries and associate these operations with the transactions, then we should use the Entity Framework provided Database.BeginTransaction() method that is available on the DbContext object. This approach, however, will only work with Entity Framework...