Private Training

Course Summary

This four-day course is designed to provide a sound introduction to the .NET Framework for programmers who already know the C# language and the fundamentals of Windows Forms. It is current to .NET 4.6 and Visual Studio 2015, which now includes support for cross-platform development. The course focuses on core portions of the .NET Framework that are common across many application areas. Separate courses are available in specific areas, such as ADO.NET, XML Programming, Windows Presentation Framework, Windows Communications Framework and ASP.NET. The course starts with an introduction to the architecture and key concepts of .NET. It then discusses class libraries, assemblies, versioning, configuration, and deployment, which constitute a major advance in the simplicity and robustness of deploying Windows applications, ending the notorious “DLL hell.” The next four chapters discuss important topics in the .NET programming model, including metadata, reflection, I/O, and serialization. Chapter 6 continues the discussion of the .NET programming model, covering memory management, asynchronous programming and application domains. .NET Security, which was simplified in .NET 4.0, is introduced, including both code access security and role-based security. The next chapter covers interoperability of .NET with COM and with Win32 applications. The course includes an introduction to database programming using ADO.NET and LINQ. Finally, the .NET Framework diagnostic facilities are discussed in depth. An appendix covers .NET Remoting.

Experienced application developers of architects.
Class Length
4 Days
The student should be an experienced application developer or architect with a working knowledge of C#, including building simple GUIs with Windows Forms.


Gain a thorough understanding of the philosophy and architecture of .NET.

Acquire a working knowledge of the .NET programming model and .NET Security.

Implement multi-threading effectively in .NET applications.

Learn how to implement database applications using ADO.NET and LINQ.

Learn how to debug .NET applications using .NET diagnostic classes and tools.

  1. Introduction to ADO.NET
    • Microsoft Data Access Technologies
    • ODBC
    • OLE DB
    • ActiveX Data Objects (ADO)
    • Accessing SQL Server before ADO.NET
    • ADO.NET
    • ADO.NET Architecture
    • .NET Data Providers
    • Programming with ADO.NET Interfaces
    • .NET Namespaces
    • Connected Data Access
    • SQL Express LocalDB
    • SqlLocalDB Utility
    • Visual Studio Server Explorer
    • Queries
    • SQL Server Management Studio
    • ADO.NET Class Libraries
    • Connecting to an OLE DB Data Provider
    • Using Commands
    • Creating a Command Object
    • ExecuteNonQuery
    • Using a Data Reader
    • Disconnected Datasets
    • Data Adapters
    • Buy Computer
    • Model
    • Component
    • Part
    • PartConfiguration
    • System
    • SystemId as Identity Column
    • SystemDetails
    • StatusCode
    • Relationships
    • Stored Procedure
  2. ADO.NET Connections
    • ADO.NET Block Diagram
    • .NET Data Providers
    • Namespaces for .NET Data Providers
    • BasicConnect (version 1)
    • Using Interfaces
    • IDbConnection Properties
    • Connection String
    • SQL Server Connection String
    • OLE DB Connection String
    • SQL Server Security
    • IDbConnection Methods
    • BasicConnection (version 2)
    • Connection Life Cycle
    • BasicConnect (version 3)
    • Database Application Front-ends
    • Connection Pooling
    • Pool Settings for SQL Server
    • Connection Events
    • ADO.NET Exception Handling
  3. ADO.NET Commands
    • Command Objects
    • Creating Commands
    • Executing Commands
    • Dynamic Queries
    • Parameterized Queries
    • Command Types
    • Stored Procedures
    • Testing the Stored Procedure
    • Stored Procedures in ADO.NET
    • Batch Queries
    • Transactions
  4. DataReaders and Connected Access
    • DataReaders
    • Using a DataReader
    • Closing a DataReader
    • IDataRecord
    • Type-Safe Accessors
    • GetOrdinal()
    • Null Data
    • Testing for Null
    • ExecuteReader Options
    • Returning Multiple Result Sets
    • DataReader Multiple Results Sets
    • Obtaining Schema Information
  5. DataSets and Disconnected Access
    • DataSet
    • DataSet Architecture
    • Why DataSet?
    • DataSet Components
    • DataAdapter
    • Data Access Class
    • Retrieving the Data
    • Filling a DataSet
    • Accessing a DataSet
    • Updating a DataSet Scenario
    • Adding a New Row
    • Searching and Updating a Row
    • Deleting a Row
    • Row Versions
    • Row State
    • BeginEdit and CancelEdit
    • DataTable Events
    • Updating a Database
    • Insert Command
    • Update Command
    • Delete Command
    • Exception Handling
    • Command Builders
  6. More About DataSets
    • Filtering DataSets
    • Using a Single DataTable
    • Multiple Tables
    • DataSet Architecture
    • Schema in the DataSet
    • Relations
    • Navigating a DataSet
    • Using Parent/Child Relation
    • Inferring Schema
    • AddWithKey
    • Adding a Primary Key
    • TableMappings
    • Identity Columns
    • Creating a Dataset Manually
    • Manual DataSet Code
  7. XML and ADO.NET
    • ADO.NET and XML
    • Rendering XML from a DataSet
    • XmlWriteMode
    • Reading XML into a DataSet
    • DataSets and XML Schema
    • ModelSchema.xsd
    • Reading XML Schema
    • XmlReadMode
    • Writing Data as Attributes
    • XML Data in DataTables
    • Typed DataSets
    • Table Adapter
    • Using a Typed DataSet
    • Synchronizing DataSets and XML
    • Using XmlDataDocument
    • Windows Client Code
    • Web Client Code
    • XML Serialization
    • Default Constructor
  8. Concurrency and Transactions
    • DataSets and Concurrency
    • Handling Concurrency Violations
    • Pessimistic Concurrency
    • Transactions
    • Programming ADO.NET Transactions
    • ADO.NET Transaction Code
    • Using ADO.NET Transactions
    • DataBase Transactions
    • Transaction in Stored Procedure
    • Testing the Stored Procedure
    • SQL Server Error
  9. Additional Features
    • AcmePub Database
    • Connected Database Access
    • Long Database Operations
    • Asynchronous Operations
    • Multiple Active Result Sets
    • Bulk Copy
  10. LINQ and Entity Framework
    • Language Integrated Query (LINQ)
    • LINQ to ADO.NET
    • Bridging Objects and Data
    • Object Relational Designer
    • IntelliSense
    • Basic LINQ Query Operators
    • Obtaining a Data Source
    • Filtering
    • Ordering
    • Aggregation
    • Obtaining Lists and Arrays
    • Deferred Execution
    • Modifying a Data Source
    • Performing Inserts via LINQ to SQL
    • Performing Deletes via LINQ to SQL
    • Performing Updates via LINQ to SQL
    • LINQ to DataSet
    • Using the Typed DataSet
    • ADO.NET Entity Framework
    • Exploring the EDM
    • AcmePub Tables
    • AcmePub Entity Data Model
    • XML Representation of Model
    • Entity Data Model Concepts
    • Conceptual Model
    • Storage Model
    • Mappings
    • Querying the EDM
    • Class Diagram
    • Context Class
    • List of Categories
    • List of Books
    • Entity Framework in a Class Library
    • Data Access Class Library
    • Client Code