Developing Data Access Solutions with Microsoft Visual Studio 2010



In this course, you will learn to optimize your designs and develop better performing data access code by using the ADO.NET Entity Framework, LINQ, WCF Data Services, the Sync Framework, and ADO.NET.

This course will prepare you for Exam 70-516: TS: Accessing Data with Microsoft .NET Framework 4. Success on Exam 70-516 earns you the MCTS: .NET Framework 4, Data Access certification and credit towards the MCPD: Windows Developer 4 and Web Developer 4 certification.

Certification: TS: Accessing Data with Microsoft .NET Framework 4


  • Professional .NET software developers who use Microsoft Visual Studio in a team-based, medium-sized to large development environment
  • Experienced users of Microsoft Visual Studio 2008 SP1 or newer releases of the Visual Studio product


  • Understanding of the problem-solving techniques that apply to software development, including the scripting techniques and some hands-on experience writing scripts
  • Experience implementing data access and data binding within web and/or Windows client applications
  • General understanding of the purpose, function, and features of .NET framework
  • Conceptual understanding of the Entity Framework
  • Experience using Visual Studio 2008
  • Experience in n-tier application, object oriented design, and development that access various data sources
  • Data access experience in Windows client and web application development
  • Experience implementing data binding within their applications
  • Some experience using LINQ and ADO.NET

Learning Objectives

  • Select an appropriate combination of data access technologies and tools most appropriate to each case by evaluate a variety of business cases
  • Roles of Entity Framework, WCF Data Services, and ADO.NET for building and maintaining applications
  • Use LINQ on top of these technologies to improve productivity and the quality of applications
  • Use the tools provided with the Entity Framework to map the conceptual model used by the business logic of an application to the logical data model provided by a database
  • Query an Entity Data Model (EDM) using common methods, such as LINQ to Entities, Entity SQL, and the classes in the EntityClient namespace
  • Perform data modification tasks on data in an EDM
  • Function of the Object Services model implemented by the Entity Framework and the support provided by the Object Services API to address the issues faced by enterprise applications that have to handle multiple concurrent users simultaneously accessing the same data
  • Best practices for designing and building a scalable, optimized data access layer by using Object Services
  • Customize and extend entities with business logic and use advanced mappings to shape the data model to business and application requirements
  • Reuse existing business classes in a data access layer built by using the Entity Framework
  • Address the architectural issues that can arise when building an n-tier enterprise application by using the Entity Framework
  • Build extensible solutions that can update data in an n-tier enterprise application by using the Entity Framework
  • Access offline data or data that that has limited availability in client applications
  • Design, develop, and consume a simple Windows Communication Foundation (WCF) Data Service
  • Use WCF Data Services to update and delete data and to handle multi-user concerns
  • Develop high performance, scalable ADO.NET applications that can query and update data
  • Enable development against a logical model which abstracts the low-level details of querying ADO.NET tables and result sets using LINQ to SQL

1. Architecture and Data Access Technologies

  • Data Access Technologies
  • Data Access Scenarios

2. Building Entity Data Models

  • Entity Data Models
  • Modifying the Entity Data Model
  • Customizing the Entity Data Model

3. Querying Entity Data

  • Retrieving Data by Using LINQ to Entities
  • Retrieving Data by Using Entity SQL
  • Retrieving Data by Using EntityClient Provider
  • Retrieving Data by Using Stored Procedures
  • Unit Testing Your Data Access Code

4. Creating, Updating, and Deleting Entity Data

  • Maintaining Contact and Reward Data
  • Maintaining RewardsClaim Data

5. Handling Multi-User Scenarios by Using Object Services

  • Handling Concurrency in the Entity Framework
  • Transactional Support in the Entity Framework

6. Building Optimized Solutions by Using Object Services

  • Stages of Query Execution
  • Change Tracking and Object Materialization
  • Using Compiled Queries
  • Using Design-Time Generated Entity Framework Views
  • Monitoring Performance
  • Performing Asynchronous Data Modifications

7. Customizing Entities and Building Custom Entity Classes

  • Overriding Generated Classes
  • Using Templates to Customize Entities
  • Creating and Using Custom Entity Classes

8. Using POCO Classes with the Entity Framework

  • Requirements for POCO Classes
  • POCO Classes and Lazy Loading
  • POCO Classes and Change Tracking
  • Extending Entity Types

9. Building an N-Tier Solution by Using the Entity Framework

  • Designing an N-Tier Solution
  • Operating and Implementing Data Transport Structures
  • Protecting Data and Operations

10. Handling Updates in an N-Tier Solution by Using the Entity Framework

  • Tracking Entities and Persisting Changes
  • Managing Exceptions in an N-Tier Solution

11. Building Occasionally Connected Solutions

  • Offline Data Caching by Using XML
  • Using the Sync Framework

12. Querying Data by Using WCF Data Services

  • WCF Data Services
  • Creating a WCF Data Service
  • Consuming a WCF Data Service
  • Protecting Data and Operations in a WCF Data Service

13. Updating Data by Using WCF Data Services

  • Creating, Updating, and Deleting Data in a WCF Data Service
  • Preventing Unauthorized Updates and Improving Performance
  • Using WCF Data Services with Nonrelational Data

14. Using ADO.NET

  • Retrieving and Modifying Data by Using ADO.NET Commands
  • Retrieving and Modifying Data by Using DataSets
  • Managing Transactions and Concurrency in Multiuser Scenarios