In this course, experienced developers who know the basics of data access (CRUD) in Windows client and Web application environments will learn to optimize their 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.
Module 1: Architecture and Data Access Technologies
This module describes the commonly used data access technologies and scenarios in which you are likely to use them.
Module 2: Building Entity Data Models
This module introduces the concepts of data modeling, and in particular, Entity Data Models (EDMs). It explains how you can use EDMs to decouple the conceptual data structure in your applications from the logical data structure in the data store.
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.
Module 4: Creating, Updating, and Deleting Entity Data
This module introduces you to the ways that the Entity Framework enables you to modify the data in your database. You apply changes to the entities managed by the ObjectContext class. The ObjectContext class is responsible for tracking all changes to entities and then persisting these changes to the database on request.
Module 5: Handling Multi-User Scenarios by Using Object Services
This module introduces the concurrency model that the Entity Framework uses to address the issues faced by applications that must support multiple users who access the same data simultaneously. It also describes how the Entity Framework can make use of transactions to ensure data integrity.
Module 6: Building Optimized Solutions by Using Object Services
This module explains best practices for designing and building a scalable, optimized data access layer by using Object Services. The module introduces several techniques that can be used to optimize the performance of queries that execute against the conceptual model.
Module 7: Customizing Entities and Building Custom Entity Classes
This module describes how to customize and extend entities with your own business logic.
Module 8: Using POCO Classes with the Entity Framework
This module introduces the ways in which you can define custom entity classes in your Entity Framework application. By default, Microsoft Visual Studio generates a set of entity classes for you from the Entity Data Model (EDM). Instead of these generated classes, you may want to use an existing set of "plain old" CLR objects (POCO) business classes in your application You can also extend the generated entity classes to add custom business functionality to your entity objects.
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.
Module 10: Handling Updates in an N-Tier Solution by Using the Entity Framework
This module describes how you can handle data modifications in an n-tier solution. The module describes the different strategies for handling modifications that you should use for the different alternative formats for transporting data between tiers: data transfer objects (DTOs), self-tracking entities (STEs), and simple entities (SEs). The module also describes how to manage the exceptions that can occur during the data modification process.
Module 11: Building Occasionally Connected Solutions
This module describes how to access offline or occasionally connected data in client applications.
Module 12: Querying Data by Using WCF Data Services
Windows Communication Foundation (WCF) Data Services enable you to create highly flexible data services that can be used to provide access to data across the Internet or a corporate network. You can access these services by using REST-style URIs, and they can be easily consumed by a wide variety of applications. As WCF Data Services are build on top of standard Internet protocols such as HTTP and the Atom Publishing Protocol, they are an ideal choice for delivering data to AJAX applications and Rich Interactive Applications built using technologies such as Microsoft Silverlight.
Module 13: Updating Data by Using WCF Data Services
This module describes how to use WCF Data Services to create, update, and delete data. WCF Data Services use standard internet protocols such as HTTP and the Atom Publishing Protocol to enable update access to data across the Internet or a corporate network.
Module 14: Using ADO.NET
ADO.NET is a highly flexible framework for building applications that require access to data held in a data source. This module introduces ADO.NET and explains how you can use it to develop scalable, high-performance, data-driven applications.
Module 15: Using LINQ to SQL
ADO.NET provides a mechanism that enables you to build applications that can query and maintain data that is held in a variety of sources in a database-agnostic manner. However, building applications by using ADO.NET requires that you are familiar with the Structured Query Language (SQL) language and features of the database management system that you are connecting to. Language-Integrated Query (LINQ) to SQL provides a higher-level abstraction for managing data that is held in a Microsoft SQL Server database, and is an ideal stepping stone for migrating ADO.NET applications toward the ADO.NET Entity Framework. This module introduces LINQ to SQL and explains how you can use it to abstract the low-level details of ADO.NET queries by developing against a logical data model.