Table of Contents (First Edition)

Saturday, January 24 2009

 Below is the TOC for first edition. If you'd like to see the chapter list for the 2nd Edition, check the blog entry : Chapter List for 2nd Edition

     
Preface

Ch 1: Introducing the ADO.NET Entity Framework

  Programming Against a Model, Not Against the Database 
  The Entity Data Model: A Client-Side Data Model 
  The Entity in “Entity Framework” 
  Choosing Your Backend 
  Entity Framework Features 
  The Entity Framework in Web Services 
  What About ADO.NET DataSets and LINQ to SQL? 
  Entity Framework Pain Points 
  Programming the Entity Framework 
Ch 2: Exploring the Entity Data Model
  Why Use an Entity Data Model? 
  The EDM Within the Entity Framework 
  Your First EDM 
  The EDM in the Designer Window 
  Entity Properties 
  The Naked Model: Inspecting the Model’s XML 
  A Less Daunting Model View 
  The Three Parts of the Model 
  CSDL: The Conceptual Schema 
  SSDL: The Store Schema 
  MSL: The Mappings 
  Database Views in the EDM 
  Code Generation from EDM to Classes 
Ch 3: Querying Entity Data Models
  Query the Model, Not the Database 
  Your First EDM Query 
  LINQ to Entities Queries 
  Entity SQL Queries That Return Objects 
  Method-Based Syntax Queries for LINQ and Entity SQL 
  LINQ Method-Based Queries 
  EntityClient: The Lowest-Level Method for Returning Streamed Data
  Translation to Database Queries 
  Avoid Inadvertent Query Execution 
Ch 4: Exploring EDM Queries in Greater Depth
  Same Model, Friendlier Name 
  Projections in Queries 
  Querying Across Associations 
  Joins and Nested Queries 
  Grouping 
  Shaped Data Returned by Queries 
  Deferred Loading and Eager Loading Queries 
  Retrieving a Single Entity 
  Entity SQL’s Wrapped and Unwrapped Results 
Modifying Entities and Saving Changes
  How ObjectContext Manages Entities 
  The SaveChanges Method 
  Adding New Entities 
  Inserting New Parents and Children 
  Deleting Entities 
Using Stored Procedures with the EDM
  Adding the Stored Procedures into the Model 
  Working with Functions 
  Implementing Functions 
  The EDM Designer’s Model Browser 
  Mapping the Last of the Four Functions: CustomersbyState 
  More About the Update Model Wizard 
Tuning Up a Model
  The BreakAway Geek Adventures Business Model 
  Creating a Class Library Project to Host an EDM 
  Inspecting and Cleaning Up a New Model 
  Cleaning Up Navigation Property Names 
  Mapping a Few Stored Procedures 
  Working with Many-to-Many Relationships 
  Building the BreakAwayModel Project 
Data Binding with Windows Forms and WPF Applications
  Data Binding with Windows Forms Applications 
    Using Windows Forms Data Sources to Help with Data Binding 
    Adding the Related EntityCollection to the Form 
    Allowing the User to Edit the Data 
    Editing the Navigation Properties (and Trimming Down the Query) 
  Data Binding with WPF Applications 
    XAML’s Role in Data Binding 
    Binding with the ListBox 
    Selecting an Entity and Seeing Its Details 
    Adding Another EntityCollection to the Mix: Activities 
    Editing Trip Entities and Their Related Data 
    Adding Items to the Child EntityCollection 
    The Last Task: Adding New Trips to the Catalog 
Working with Object Services
  Where Do Object Services Fit into the Framework? 
  Query Processing 
  Object Materialization 
  The ObjectContext 
  State Management and ObjectStateEntry 
  Additional Features 
Customizing Entities
  Partial Classes 
  Customizable Methods 
  Customizable Event Handlers 
  Other Opportunities for Customization 
    Custom Properties 
    Custom Code Generation 
    Creating Common Methods or Properties for All Entities 
Using the ASP.NET EntityDataSource Control
  Getting to First Base with the EntityDataSource Control and Flat Data 
  Understanding How the EntityDataSource Is Able to Retrieve and Update Your Data
  Working with Related EntityReference Data 
  Working with Hierarchical Data in a Master/Detail Form 
  Browsing Through the EntityDataSource Events 
Customizing Entity Data Models
  Designer Support for Mappings 
  Mapping Table per Type Inheritance for Tables That Describe Derived
  Using Entity Splitting to Map a Single Entity to More Than One Table 
  Using Conditional Mapping to Filter Entity Mappings 
  Implementing Table per Hierarchy Inheritance for Tables That Contain
  Implementing Customizations That Are Not Supported by the EDM Designer
  Mapping Table per Concrete (TPC) Type Inheritance for Tables with Overlapping Fields
  Creating Complex Types to Encapsulate Sets of Properties 
  Using QueryView to Create Read-Only Entities and Other Specialized
  Additional Customization Options 
    Mapping Stored Procedures 
    Multiple Entity Sets per Type 
    Self-Referencing Associations 
Working with Stored Procedures When Function Mapping Won’t Do
  Does the Procedure Line Up with an Entity? 
  Overview of Procedures, UDFs, and TVFs in the EDM 
  Composing Queries Against Functions 
  Mapping and Executing Query Stored Procedures 
  Adding Native Queries to the Model 
  Adding Native Views to the Model 
  DefiningQuery Is Already in Your Model 
  Using Commands That Affect the Persisted Database 
  Defining Insert, Update, and Delete Stored Procedures Directly in the Model
  Mapping Insert/Update/Delete to Types Within an Inheritance Structure 
  Implementing and Querying with User-Defined Functions (UDFs) 
Using Entities with Web and WCF Services
  Building a Client That Is Ignorant of the Entity Framework 
  Pros and Cons of an Entity Framework-Agnostic Consumer 
  Using the Entity Framework with ASMX Web Services 
    Building the ASMX Service 
    Building the Client Application 
  Using the Entity Framework with WCF Services 
    Building the WCF Service 
    Building the Client to Consume the WCF Service 
Working with Relationships and Associations
  Deconstructing Relationships in the Entity Data Model 
  Deconstructing Relationships Between Instantiated EntityObjects 
    Understanding Navigation Properties in Entity Objects 
    Referential Integrity and Constraints 
    Deletes and Cascading Deletes 
  Defining Relationships Between Entities 
  Learning a Few Last Tricks to Make You a Relationship Pro 
Making It Real: Connections, Transactions, Performance, and More
  EntityConnection and Database Connections in the Entity Framework 
  The Entity Framework and Transactions 
  The Entity Framework and Security 
  The Entity Framework and Performance 
  Entities in Multithreaded Applications 
Controlling Objects with ObjectStateManager and MetadataWorkspace 
  Managing ObjectStateEntry Objects with ObjectStateManager 
  Getting an ObjectStateManager and Its Entries 
  CurrentValues and OriginalValues 
  Building an ObjectStateEntry Visualizer 
  ObjectStateManager and SavingChanges 
  The MetadataWorkspace API 
  Creating EntityObjects Without Entity Classes 
  Creating Entities and Graphs Dynamically 
Handling Entity Framework Exceptions
  Preparing for Exceptions in Entity Framework Code 
  EntityConnectionString Exceptions 
  Query Compilation Exceptions 
  Creating a Common Wrapper to Handle Query Execution Exceptions 
  SaveChanges Command Execution Exceptions 
  ObjectStateEntries Returned by Object Services Exceptions 
  InvalidOperationExceptions 
  Exceptions When Multiple Parties Edit Data Concurrently 
  Understanding Optimistic Concurrency Options in the Entity Framework
  Implementing Optimistic Concurrency with the Entity Framework 
  Handling OptimisticConcurrencyExceptions 
  Handling Exceptions When Transactions Are Your Own 
Using Your Own Custom Classes 
  Mapping Classes to the Entity Data Model 
  Inheriting from EntityObject
  Implementing the IPOCO Interfaces 
  Custom Class Assemblies and Entity Data Model Files 
Using the Entity Framework in n-Tier Client-Side Applications 
  Thinking in Layers 
  Finding Your Motivation: A Master/Detail Data Entry Form That Will Use the DataBridge Class 
  Preventing Non-UI Logic from Leaking into the UI 
  Implementing Logic That Fits Best in the Entity Partial Classes 
  Building the CommandExecutor Class 
  Building the DataBridge Class 
  Using the DataBridge Class for Data Binding in a Master/Detail Form 
  Allowing Users to Roll Back Their Edits 
  Helping the User Who Forgets to Save Changes 
Using the Entity Framework in n-Tier ASP.NET Applications 
  Understanding How an ObjectContext Fits into the Web Page Life Cycle 
  Using EntityObjects in Read-Only Web Pages 
  Exploring Options for Updating Entities in an ASP.NET Application 
  Introducing ASP.NET’s ObjectDataSource Control 
  Designing Object Provider Classes to Be Used with an ObjectDataSource 
  Wiring Up the Provider Classes to ObjectDataSource Controls 
  Understanding Why We Didn’t Use Object Graphs in This Business Layer 
Implementing a Smarter WCF Service for Working with Entities 
  Will Your Client Agree to Your Data Contract? 
  Shipping DTOs, Not EntityObjects 
  Creating EntityState Properties That Do Not Rely on ObjectContext 
  Designing the Service Interface 
  Implementing the Service Operations 
  Implementing the Client That Will Use the WCF Service 
    Building a Business Layer Between the UI and the Services 
  Testing It All with a Simple Console Application 
The Entity Framework, Today and Tomorrow
  What About Building Reports with the Entity Framework? 
  Major Differences Between the Entity Framework and LINQ to SQL 
  Extensions, Samples, and Solutions from Microsoft 
  Extensions and APIs 
  Samples 
  Learning Tools 
  Entity Framework v.Next 
  The Transparent Design Process for the Next Version 
  Blogs, Forums, and Other Resources 
Appendix: Entity Framework Assemblies and Namespaces
I