Book Image

Entity Framework Core Cookbook - Second Edition

By : Ricardo Peres
Book Image

Entity Framework Core Cookbook - Second Edition

By: Ricardo Peres

Overview of this book

Entity Framework is a highly recommended Object Relation Mapping tool used to build complex systems. In order to survive in this growing market, the knowledge of a framework that helps provide easy access to databases, that is, Entity Framework has become a necessity. This book will provide .NET developers with this knowledge and guide them through working efficiently with data using Entity Framework Core. You will start off by learning how to efficiently use Entity Framework in practical situations. You will gain a deep understanding of mapping properties and find out how to handle validation in Entity Framework. The book will then explain how to work with transactions and stored procedures along with improving Entity Framework using query libraries. Moving on, you will learn to improve complex query scenarios and implement transaction and concurrency control. You will then be taught to improve and develop Entity Framework in complex business scenarios. With the concluding chapter on performance and scalability, this book will get you ready to use Entity Framework proficiently.
Table of Contents (15 chapters)
Entity Framework Core Cookbook - Second Edition
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface
Index

Using explicit transactions


Transactions define a boundary: anything (and everything) inside a transaction is either guaranteed to fail or succeed. Imagine a bank transfer from one bank to another. If you think of the steps involved, they are as follows:

  1. Some amount is withdrawn from a bank account.

  2. The same amount is deposited in another bank account.

One cannot exist without the other: both actions must either occur or neither of them can occur in isolation.

Transactions have what is commonly referred to as the ACID properties. This acronym is explained in the following sections.

Atomic

The execution of any transaction should either have the full intended effect or no effect at all. The results should be either complete (commit), or nothing should happen (roll back).

Consistent

Any transaction is a transition of state in an application, and therefore should preserve a consistent version of the application. For example, when updating a many-to-many relationship, both the foreign key and the reference...