4120. ADO.NET Using C#
Rev. 3.0
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 3.5, Visual Studio 2008 and SQL Server
2005/2008.
The course opens with an overview of ADO.NET and its relation to
previous Microsoft data access technologies, including ADO. 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.
The course concludes with a hands-on treatment of newer ADO.NET
features in .NET 2.0 and 3.5, including asynchronous operations, multiple
active result sets and bulk copy. Language Integrated Query (LINQ) is covered
in some detail, including LINQ to SQL and LINQ to DataSet.
There are numerous example program implemented in a multiple-tier
architecture, with separate tiers for data access and user interface. Both
Windows and Web client programs are provided. This course comes with a separate
lab manual that has detailed instructions for labs implementing ADO.NET
programs with Windows clients. A parallel course, 4121 ADO.NET for Web
Applications Using C#, provides a lab manual for Web clients.
LEARNING OBJECTIVES
·
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 newer features in ADO.NET 3.5
with Visual Studio 2008 and SQL Server 2005/2008
·
Implement a realistic case study that ties
together many concepts of ADO.NET in a practical demonstration
Course Duration: 3
days
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.
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.
Newer Features in ADO.NET
Using Server Explorer in Visual Studio 2008
Asynchronous Database Operations
Multiple Active Result Sets
Bulk Copy in ADO.NET
10. LINQ
to ADO.NET
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
Appendix A. Acme Computer Case Study
Appendix B. Learning Resources
System Requirements
Required software is Visual Studio 2008, Standard Edition or higher,
and SQL Server. Either SQL Server 2005 Express Edition (bundled with Visual
Studio 2008) or SQL Server 2008 Express Edition (a free download from
Microsoft) may be used. The recommended operating system is Windows XP with at
least Service Pack 2. Service Pack 1 for Visual Studio 2008 may be installed,
but it is not required unless SQL Server 2008 is used. See the course Setup Notes
for details.
A good minimal hardware profile for this course would have a 2 GHz
or better CPU, 512 MB of RAM, and at least 4 GB of free disk space for tools
installation and courseware. The installation of Visual Studio 2008 Service
Pack 1 requires 5.5 GB of free disk space on the partition on which the
operating system is installed.