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

Inheritance with the Entity Framework Code First approach


So far, we have seen how to use the Entity Framework Code First approach to map domain entities to database tables. We also looked at how we can have entities with multiplicity relationships, and how to use Entity Framework to map the relationships in such a way that these relationships exist between the database tables too.

Now let's see how we can have inheritance relationships between domain entities, and use Entity Framework to map the data to the respective tables. We will see how to use the Entity Framework Code First approach to manage the following inheritance types:

  • The Table per Type (TPT) inheritance

  • The Table per Class Hierarchy (TPH) inheritance

  • The Table per Concrete Class (TPC) inheritance

Implementing the TPT inheritance

The TPT inheritance is useful when we have domain entities that have an inheritance relationship, and we want them to be modeled in our database in such a way that each domain entity will be mapped to a...