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 the Code First conventions and configurations


The first thing that we need to understand is the concept of convention over configuration. The Code First approach expects the model classes to follow some conventions, so that the database persistence logic can be extracted from the model. For example, if we define a property named ID in the model class, this property value will be treated as the primary key for the table that is being mapped to this class. The benefit of this convention-based approach is that if we are following the conventions, then we don't have to write any extra code to manage the database persistence logic. The downside of this approach is that if a convention is not followed, and Entity Framework is not able to extract the needed information from the model, an exception will be thrown at runtime.

In scenarios where we are not able to follow the conventions but still need Entity Framework to persist the data, we need to provide some additional information...