

Introduction
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.
This
course is intended for professional .NET software developers who use
Microsoft Visual Studio in a team-based, medium-sized to large development
environment. They will have experience implementing data access and
data binding within their Web and/or Windows client applications and are interested
in learning to optimize data access code in their applications by using the
Entity Framework, LINQ, and ADO.NET. Members of the audience are experienced
users of Microsoft Visual Studio 2008 SP1 or newer releases of the Visual
Studio product. The audience has some experience using Visual Studio 2010 for
either Windows client or Web application development.
Typically,
this audience has the following knowledge/experience:
|
After
completing this course, students will be able to: ·
Evaluate a variety of business
cases, and then select an appropriate combination of data access technologies
and tools most appropriate to each case. Describe the 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 their 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) by 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. ·
Explain the
function of the Object Services model implemented by the Entity Framework and
the support provided by the Object Services API for addressing the issues
faced by enterprise applications that have to handle multiple concurrent
users simultaneously accessing the same data . ·
Describe best practices
for designing and building a scalable, optimized data access layer by using
Object Services. ·
Customize and extend
entities with their own business logic and use advanced mappings to shape the
data model to their 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 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. ·
Explain how LINQ to
SQL enables development against a logical model which abstracts the
low-level details of querying ADO.NET tables and result sets. |
Course Outline
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.
Lessons
Lab: Analyzing
Data Access Scenarios
After completing
this module, students will be able to:
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.
Lessons
Lab: Using Entity
Data Models
After completing
this module, students will be able to:
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.
Lessons
Lab: Querying
Entity Data
After completing
this module, students will be able to:
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.
Lessons
Lab: Creating,
Updating, and Deleting Entity Data
After completing
this module, students will be able to:
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.
Lessons
Lab: Handling
Multi-User Scenarios by Using Object Services
After completing
this module, students will be able to:
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.
Lessons
Lab: Building
Optimized Solutions by Using Object Services
After completing
this module, students will be able to:
Module 7: Customizing Entities and Building
Custom Entity Classes
This module describes
how to customize and extend entities with your own business logic.
Lessons
Lab: Customizing
Entities and Building Custom Entity Classes
After completing
this module, students will be able to:
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.
Lessons
Lab: Using POCO
Classes with the Entity Framework
After completing
this module, students will be able to:
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.
Lessons
Lab: Building an
N-Tier Solution by Using the Entity Framework
After completing
this module, students will be able to:
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.
Lessons
Lab: Handling
Updates in an N-Tier Solution by Using the Entity Framework
After completing
this module, students will be able to:
Module 11: Building Occasionally Connected
Solutions
This module
describes how to access offline or occasionally connected data in client
applications.
Lessons
Lab: Building
Occasionally Connected Solutions
After completing
this module, students will be able to:
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.
Lessons
Lab: Creating and
Using WCF Data Services
After completing
this module, students will be able to:
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.
Lessons
Lab: Updating
Data by Using WCF Data Services
After completing
this module, students will be able to:
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.
Lessons
Lab: Using
ADO.NET
After completing
this module, students will be able to:
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.
Lessons
Lab: Using LINQ
to SQL
After completing
this module, students will be able to:
Solutient Corporation of Ohio
6133 Rockside Road, Suite 100 –
Cleveland, OH 44131
FOR MORE INFORMATION, CALL 216-654-0025