Book Image

Entity Framework Tutorial (Update) - Second Edition

By : Joydip Kanjilal
Book Image

Entity Framework Tutorial (Update) - Second Edition

By: Joydip Kanjilal

Overview of this book

The ADO.NET Entity Framework from Microsoft is a new ADO.NET development framework that provides a level of abstraction for data access strategies and solves the impedance mismatch issues that exist between different data models This book explores Microsoft’s Entity Framework and explains how it can used to build enterprise level applications. It will also teach you how you can work with RESTful Services and Google’s Protocol Buffers with Entity Framework and WCF. You will explore how to use Entity Framework with ASP.NET Web API and also how to consume the data exposed by Entity Framework from client applications of varying types, i.e., ASP.NET MVC, WPF and Silverlight. You will familiarize yourself with the new features and improvements introduced in Entity Framework including enhanced POCO support, template-based code generation, tooling consolidation and connection resiliency. By the end of the book, you will be able to successfully extend the new functionalities of Entity framework into your project.
Table of Contents (16 chapters)
Entity Framework Tutorial Second Edition
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Reading objects from the Security database


There are three ways in which you can load related entities using Entity Framework. These are—eager loading, lazy loading, and explicit loading. In eager loading, a query on a particular type of an entity loads the related entities also as part of the query execution. The following code snippet illustrates how you can implement eager loading:

using (SecurityDBEntities context = new SecurityDBEntities())
{
     // Load all controls and control types 
    var data = context.Controls 
                          .Include(b => b.ControlTypes) 
                          .ToList(); 
}

You can load entities lazily even if lazy loading is disabled by making an explicit call. This is known as explicit loading and is illustrated in the following code snippet:

using (SecurityDBEntities context = new SecurityDBEntities())
{ 
    var data = context.Controls.Find(2);
}

Lazy loading is a feature that enables you to load data only at the time when it is requested...