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 persistence approaches


Now, we saw the three options to create the EDM and the DbContext class. Which approach should be used in which scenario, is often a question that many developers ask. There is no definite reason for choosing any particular approach, but here is a small checklist that the developers might find very useful while deciding on which approach to choose. If at any point, the answer to any question is yes, then that approach should be used without even looking at the next question in the checklist:

Question

Approach

Is there a legacy database or does the database already exist?

Database First

Will we be getting a database created by the DBAs before starting the development?

Database First

Will there be frequent database changes, based on which our application should change?

Database First

Do we want to use the Visual Entity Designer to generate the database and model classes?

Model First

Do we have the model classes already and we need the database to save the data only?

Code First

Do we want to write all the model classes, implement them, and then think about the database storage later?

Code First

We don't want to deal with the auto-generated classes and would prefer to write them ourselves

Code First

Is the answer to all the preceding questions "no"?

Database First