ADO.NET Using C#

Current Version: 4.0

Summary

This three-day intensive course teaches the essential elements of
ADO.NET such that at the end of the course the programmer is able to
utilize its tremendous database manipulation powers to build effective
database applications. The course includes a major case study
demonstrating the use of ADO.NET in a realistic setting. It is current
to .NET 4.0, Visual Studio 2010 and SQL Server 2008.

The course opens with an overview of ADO.NET and its relation to
previous Microsoft data access technologies. It includes a discussion
of ADO.NET architecture, main interfaces and classes, and programming
with both the connected and disconnected models. The database for the
case study is introduced.

The next two chapters cover in detail Connection and Command objects,
which are essential in both connected and disconnected database access
scenarios. The following chapter covers DataReaders, which provide a
fast, forward-only reading capability. Programming with DataReaders
bears a close resemblance to programming with the vintage recordset
object.

Then the course focuses on the backbone of ADO.NET: DataSet and its
related classes, such as DataAdapter, DataTable, DataRow, DataColumn,
DataRelation, TableMappings and ColumnMappings. DataSet is able to
handle multiple tables while remaining disconnected. It is eminently
suited for building highly scalable applications for the Web. The close
relationship between ADO.NET and XML is covered in detail. Transactions
and concurrency are covered.

Additional features of ADO.NET are covered, including asynchronous
operations, multiple active result sets and bulk copy. Language
Integrated Query (LINQ) is covered in some detail, including LINQ to
SQL, LINQ to DataSet and LINQ to Entities. The ADO.NET Entity Framework
is introduced.

There are numerous example program implemented in a multiple-tier
architecture, with separate tiers for data access and user interface.
This course comes with a separate lab manual that has detailed
instructions for labs implementing ADO.NET programs with Windows Forms
clients. A parallel course, ADO.NET for Web Applications Using C#,
provides a lab manual for Web Forms clients.

Prerequisites

A basic knowledge of SQL and of programming the .NET
Framework using C#. The student should also understand the fundamentals
of XML. To get full benefit from the examples in the course the student
should be able to write simple Windows Forms applications. A working
knowledge of SQL Server is also desirable.

Course Objectives

On completion of this course, the student should be able to

Understand the architecture and main classes of ADO.NET

Gain fluency in programming ADO.NET using C#

Gain a thorough understanding of the use of disconnected
DataSets for building highly scalable applications

Acquire a working knowledge of the tight coupling of XML with
ADO.NET

Learn how to use additional features in ADO.NET, including
asynchronous operations, multiple active result sets, and bulk copy

Acquire a working knowledge of LINQ and the Entity Framework

Implement a realistic case study that ties together many
concepts of ADO.NET in a practical demonstration

Length

3 Days

Format

Instructor-led course, with practical computer-based exercises.

Course Outline

1. Introduction to ADO.NET

Microsoft Data Access Technologies

From ADO to ADO.NET

ADO.NET Architecture

Namespaces and Classes

Interfaces

DataSets and Disconnected Access

First ADO.NET Programs

Acme Computer Case Study

2. ADO.NET Connections

.NET Data Providers

IDbConnection

Connection Classes

Connection Strings

Connection Pooling

Connection Events

Error Handling

3. ADO.NET Commands

IDbCommand

Command Objects

Creating Commands

Executing Commands

Parameterized Queries

Command Types

Using Stored Procedures

Batch Queries

4. DataReaders and Connected Access

DataReaders

IDataReader

IDataRecord

Type-Safe Accessors

Null Columns

ExecuteReader Options

Multiple Result Sets

Obtaining Schema Information

5. Data Sets and Disconnected Access

DataSet

DataAdapter

Command Objects

DataTable

DataColumn

DataRow

Row States and Versions

Accept or Reject Changes

DataTable Events

Updating a Database from a DataSet

Command Builders

6. More About DataSets

Filtering DataTables

Multiple Table DataSets

Schema

Constraints

Relations

Navigating a DataSet

DataMapping

Creating a DataSet Programmatically

7. XML and ADO.NET

Strong Coupling Between ADO.NET and XML

Rendering XML from a DataSet

Controlling XML Output

Reading XML into a DataSet

XML Schema and DataSets

Typed DataSets

Table Adapters

Synchronizing DataSets and XML

XML Serialization

8. Concurrency and Transactions

DataSets and Concurrency

Optimistic Concurrency

Pessimistic Concurrency

Handling Concurrency Violations

ADO.NET Transactions

Database Transactions

9. Additional Features

Asynchronous Database Operations

Multiple Active Result Sets

Bulk Copy

10. LINQ and Entity Framework

Language Integrated Query (LINQ)

Bridging Objects and Data

Using Object Relational Designer

Filtering, Ordering and Aggregation

Inserts, Deletes and Updates

LINQ to SQL

LINQ to DataSet

ADO.NET Entity Framework

LINQ to Entities

Appendix A. Acme Computer Case Study

Appendix B. Learning Resources

Hardware and Software Requirements

Required software is Visual Studio 2010, Professional Edition or
higher, and SQL Server 2008 Express (which comes with Visual Studio
2010). The recommended operating system is Windows XP with Service Pack
3 or Windows 7. See the course Setup Notes for details.

A good minimal hardware profile for this course would have a 2 GHz or
better CPU, 1 GB of RAM, and at least 4 GB of free disk space for tools
installation and courseware.

Oracle and Java are registered trademarks of Oracle and/or its affiliates.
PL/SQL and SQL*Plus are trademarks or registered trademarks of Oracle
Corporation. Microsoft is either a registered trademark or trademark of Microsoft
Corporation in the United States and/or other countries. MVS is a registered
trademark of the International Business Machines Corp. in the U.S. or other
countries or both. Motif, OSF/1, UNIX, and the "X Device" are registered
trademarks and IT DialTone and The Open Group are trademarks of The Open Group
in the U.S. and other countries. All other trademarks are the property of
their respective owners.