Book Image

WCF Multi-layer Services Development with Entity Framework - Fourth Edition

By : Mike Liu
Book Image

WCF Multi-layer Services Development with Entity Framework - Fourth Edition

By: Mike Liu

Overview of this book

Table of Contents (20 chapters)
WCF Multi-layer Services Development with Entity Framework Fourth Edition
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
2
Hosting the HelloWorld WCF Service
Index

Deferred execution – lazy loading versus eager loading


In one of the preceding examples, we retrieved the category name of a product using the following expression:

p.Category.CategoryName == "Beverages"

Even though there is no field called categoryname in the Products table, we can still get the category name of a product because there is an association between the Products and Category tables. In the Northwind.edmx design pane, click on the line that connects the Products and Categories tables and you will see all of the properties of the association. Note that its Referential Constraint property is Category.CategoryID -> Product.CategoryID, meaning that category ID is the key field to link these two tables.

Because of this association, we can retrieve the category for each product and also retrieve products for each category.

Lazy loading by default

Even with an association, the associated data is not loaded when the query is executed. For example, suppose we use the following test method...