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

Visualizing our database design


Before we start creating our POCO entities, let's try to visualize the database that we will need to implement the previously mentioned features. First, let's have tables that will cater to user registration, authentication and authorization mechanism. We can create the following three tables to accomplish this task:

  • Users: This table will keep all the users' information that is needed for the users to log in and manage their account.

  • Roles: This table will keep track of the roles within our application. In our application, we will have two roles: Authors and Users. Authors will be able to post blogs and manage them. Users will only be able to post comments on blogs.

  • UserRoles: This is a simple joining table that will be created to facilitate many-to-many relationships between users and roles.

Now that we have the basic authentication and authorization tables in place, let's see what tables are needed to implement our application-specific features. The following...