Premier
Visual Studio 2010

Developing Data Access Solutions with Microsoft Visual Studio 2010
(Microsoft Training Course: 10265) - 5 days - £2095 exc VAT

Save up to 50% of the cost of some courses: check our Certification Packages or buy F1 Training Vouchers


> Target Audience
This course teaches students to use the ADO.NET Entity Framework, LINQ, WCF Data Services, the Sync Framework, and ADO.NET. It is intended for professional .NET software developers who use Microsoft Visual Studio in a team-based, medium-sized to large development environment.
> Course outline
  1. Architecture and Data Access Technologies
  2. Building Entity Data Models
  3. Querying Entity Data
  4. Creating, Updating, and Deleting Entity Data
  5. Handling Multi-User Scenarios by Using Object Services
  6. Building Optimized Solutions by Using Object Services
  7. Customizing Entities and Building Custom Entity Class
  8. Using POCO Classes with the Entity Framework
  9. Building an N-Tier Solution by Using the Entity Framework
  10. Handling Updates in an N-Tier Solution by Using the Entity Framework
  11. Building Occasionally Connected Solutions
  12. Querying Data by Using WCF Data Services
  13. Updating Data by Using WCF Data Services
  14. Using ADO.NET
  15. Using LINQ to SQL


Module 1: Architecture and Data Access Technologies
  • This module describes the commonly used data access technologies and scenarios in which developers are likely to use them.
  • Data Access Technologies
  • Data Access Scenarios
  • Lab: Analysing Data Access Scenarios
Skills
  • Describe the key data access technologies available to .NET Framework developers.
  • Assign appropriate data access technologies to common data access scenarios.
top
Module 2: Building Entity Data Models
  • This module introduces the concepts of data modelling, and in particular, EDMs. It explains how developers can use EDMs to decouple the conceptual data structure in applications.
  • Introduction to Entity Data Models
  • Modifying an Entity Data Model
  • Customising an Entity Data Model
  • Lab: Using Entity Data Models
Skills
  • Describe and create an Entity Data Model.
  • Modify an Entity Data Model by using the Entity Designer.
  • Customize a model to meet their business requirements.
top
Module 3: Querying Entity Data
  • This module explains how to query an entity data model by using common methods such as LINQ to Entities, Entity SQL, and the classes in the EntityClient namespace.
  • Retrieving Data by Using LINQ to Entities
  • Retrieving Data by Using Entity SQL
  • Retrieving Data by Using the EntityClient Provider
  • Retrieving Data by using Stored Procedures
  • Unit Testing Your Data Access Code
  • Lab: Querying Entity Data
Skills
  • Retrieve data by using LINQ to Entities.
  • Retrieve data by using the Entity SQL language.
  • Retrieve data by using the EntityClient Provider.
  • Retrieve data by using stored procedures in the entity model.
  • Create unit tests for their data access code.
top
Module 4: Creating, Updating, and Deleting Entity Data
  • This module introduces the ways that the Entity Framework enables data modifications. It also describes how the Entity Framework implements change tracking.
  • Understanding Change Tracking in the Entity Framework
  • Modifying Data in an Entity Data Model
  • Lab: Creating, Updating and Deleting Entity Data
Skills
  • Describe how the Entity Framework implements change tracking.
  • Describe how to modify data in the entity model, and persist the changes to the database.
top
Module 5: Handling Multi-User Scenarios by Using Object Services
  • This module introduces the concurrency model that the Entity Framework uses.
  • Handling Concurrency in the Entity Framework
  • Transaction Support in the Entity Framework
  • Lab: Handling Multi-User Scenarios by Using Object Services
Skills
  • Describe the optimistic concurrency model that the Entity Framework uses.
  • Manage transactions in applications that use the Entity Framework.
top
Module 6: Building Optimized Solutions by Using Object Services
  • This module describes best practices for designing and building a scalable, optimised data access layer by using Object Services.
  • The Stages of Query Execution
  • Change Tracking and Object Materialisation
  • Using Compiled Queries
  • Using Design-Time Generated Entity Framework Views
  • Monitoring Performance
  • Performing Asynchronous Data Modifications
  • Lab: Building Optimised Solutions by Using Object Services
Skills
  • Explain how the Entity Framework executes queries.
  • Understand the impact of tracking and object materialization on query performance.
  • Describe how to use compiled queries.
  • Describe how to use design-time generated views.
  • Describe how to monitor query performance.
  • Describe how to perform asynchronous data modifications.
top
Module 7: Customizing Entities and Building Custom Entity Class
  • This module describes how to customise and extend entities with business logic.
  • Overriding Generated Classes
  • Using Templates to Customise Entities
  • Creating and Using Custom Entity Classes
  • Lab: Customising Entities and Building Custom Entity Classes
Skills
  • Use partial classes and methods to add business logic to generated code.
  • Create and use templates to customize code generation.
  • Modify existing business classes to take advantage of entity functionality.
top
Module 8: Using POCO Classes with the Entity Framework
  • This module introduces the easy to define custom entity classes in Entity Framework applications.
  • Requirements for POCO Classes
  • POCO Classes and Lazy Loading
  • POCO Classes and Change Tracking
  • Extending Entity Types
  • Lab: Using POCO Classes with the Entity Framework
Skills
  • List the requirements that their POCO classes must meet.
  • Create POCO entities that support automatic lazy loading.
  • Create POCO entities that support automatic change tracking.
  • Describe the options for using interfaces and inheritance to create custom entity objects.
top
Module 9: Building an N-Tier Solution by Using the Entity Framework
  • This module explains how to address the architectural issues that can arise when building an N-Tier enterprise application by using the Entity Framework.
  • Designing an N-Tier Solution
  • Defining Operations and Implementing Data Transport Structures
  • Protecting Data and Operations
  • Lab: Building an N-Tier Solution by Using the Entity Framework
Skills
  • Describe the issues and strategies that are relevant to building n-tier applications.
  • Understand the key components that they must create in order to implement an n-tier application.
  • Describe how to protect operations and data in an n-tier application.
top
Module 10: Handling Updates in an N-Tier Solution by Using the Entity Framework
  • This module describes how to handle data modifications in an N-tier solution. The module describes the different strategies for handling modifications to the different alternative formats for transporting data between tiers.
  • Tracking Entities and Persisting Changes
  • Managing Exceptions in an N-Tier Solution
  • Lab: Handling Updates in an N-Tier Solution by Using the Entity Framework
Skills
  • Describe strategies that they can adopt for tracking changes in the client application, and persisting those changes in the database.
  • Describe how to trap and handle update and concurrency exceptions in the n n-tier solution.
top
Module 11: Building Occasionally Connected Solutions
  • This module describes how to access offline or occasionally connected data in client applications.
  • Offline Data Caching by Using XML
  • Using the Sync Framework
  • Lab: Building Occasionally Connected Systems
Skills
  • Cache data in local XML files by using LINQ to XML.
  • Implement an occasionally connected application by using the Microsoft Sync Framework.
top
Module 12: Querying Data by Using WCF Data Services
  • This module introduces the purpose and features of a WCF Data Service and describes how to create and consume a WCF Data Service.
  • Introduction to WCF Data Services
  • Creating a WCF Data Service
  • Consuming a WCF Data Service
  • Protecting Data and Operations in a WCF Data Service
  • Lab: Creating and Using WCF Data Services
Skills
  • Describe the purpose and features of WCF Data Services.
  • Expose data by using a WCF Data Service.
  • Implement a client application that can consume a WCF Data Service.
  • Grant and restrict access to resources exposed by a WCF Data Service.
top
Module 13: Updating Data by Using WCF Data Services
  • This module describes how to use WCF Data Services to create, update and delete data.
  • Creating, Updating and Deleting Data in a WCF Data Service
  • Preventing Unauthorised Updates and Improving Performance
  • Using WCF Data Services with Non-relational Data
  • Lab: Updating Data by Using WCF Data Services
Skills
  • Create, update, and delete entities by using a WCF Data Service.
  • Control access to data modification functionality, and improve performance by batching commands together.
  • Use WCF Data Services to access and modify non-relational data.
top
Module 14: Using ADO.NET
  • This module introduces ADO.NET and explains how it can be used to develop scalable, high-performance, data-driven applications.
  • Retrieving and Modifying Data by Using ADO.NET Commands
  • Retrieving and Modifying Data by Using DataSets
  • Managing Transactions and Concurrency in Multi User Scenarios
  • Lab: Using ADO.NET
Skills
  • Retrieve and update data by using ADO.NET commands and stored procedures.
  • Retrieve and update data by using DataSet objects.
  • Implement transactions and handle concurrency exceptions.
top
Module 15: Using LINQ to SQL
  • This module introduces LINQ to SQL and explains how it can be used to abstract the log-level details of ADO.NET queries by developing against a logical data model.
  • Implementing a Logical Data Model by Using LINQ to SQL
  • Managing Performance and Handling Concurrency
  • Lab: Using LINQ to SQL
Skills
  • Design a logical data model by using LINQ to SQL.
  • Manage performance by using LINQ to SQL, and handle concurrency.
top
> Pre-Requisites
Before attending this course, students must have the following pre-requisites:
  • An understanding of the problem-solving techniques in software development.
  • A basic understanding of Web, macro and Windows scripting techniques.
  • Data access experience in Windows Client and Web application development.
  • Experience using Visual Studio 2008.
  • Experience in object-oriented design and development.
  • Experience in n-tier application design and development.
> Purpose
After completing the course, students will be able to evaluate business cases and select appropriate data access technologies; describe the roles of Entity Framework, WCF Data Services, and ADO.NET; use LINQ to improve productivity and quality of applications; use the Entity Framework to map the conceptual model; query an Entity Data Model (EDM); perform modification tasks on data in an EDM; explain the function of the Object Services model; design and build a scalable, optimized data access layer by using Object Services; customize and extend entities; build extensible solutions by using the Entity Framework; access limited availability data in client applications; design, develop, and consume a simple WCF Data Service; use WCF Data Services to handle multi-user concerns; develop high performance, scalable ADO.NET applications.