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 Entity Framework Code First approach


Before we start discussing the Code First approach, it would be a good idea to talk about the application architecture approach being followed. Traditionally, we have designed an application using a bottom-up approach, that is, we used to think about the database first and then used this data-centric approach to build our application on top of it. This approach is still very useful for the applications that are data intensive, or perhaps the database also contains some business logic that is being used by multiple applications. For such applications, if we want to use Entity Framework, we have to use the Database First approach.

Another way (or rather the modern way) of designing applications is using the domain-centric approach (Domain Driven Design). Domain Driven Design is more of a top-down approach, where we start designing our application by thinking in terms of the domain models and entities that are needed to realize our application...