Home About Courses Schedule Services Webinars Contact Search

ADO.NET Using C#

SEE SCHEDULE

Duration: 3.0 days

Method: Instructor led, Hands-on workshops

Price: $1800.00

Course Code: NE2016



Audience

This course is designed for experienced application developers and architects responsible for Web applications in a Microsoft environment.

Description

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, 4121 ADO.NET for Web Applications Using C#, provides a lab manual for Web Forms clients.

Objectives

Upon successful completion of this course, the student will 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

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.

Topics

  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
  11. Appendix A. Acme Computer Case Study
  12. Appendix B. Learning Resources