Introduction to ADO.NET
Microsoft Data Access Technologies
ODBC
OLE DB
.NET Data Providers
.NET Namespaces
Connected Data Access
Connecting to an OLE DB Data Provider
Using Commands
Creating a Command Object
ExecuteNonQuery
Using a Data Reader
Disconnected Datasets
Data Adapters
Acme Computer Case Study
Buy Computer
Model
Component
Part
PartConfiguration
System
SystemId as Identity Column
SystemDetails
StatusCode
Relationships
Stored Procedure
ADO.NET Connections
.NET Data Providers
Namespaces for .NET Data Providers
Basic Connection Programming
Using Interfaces
IDbConnection Properties
Connection String
SQL Server Connection String
OLE DB Connection String
SQL Server Security
IDbConnection Methods
BasicConnection (Step 2)
Connection Life Cycle
BasicConnect (Step 3)
Database Application Front-ends
ChangeDatabase
Connection Pooling
Pool Settings for SQL Server
Connection Events
ADO.NET Commands
Command Objects
Creating Commands
Executing Commands
Dynamic Queries
Parameterized Queries
Command Types
Stored Procedures
Testing the Stored Procedure
Batch Queries
Transactions
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
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
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
XML and ADO.NET
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
Concurrency and Transactions
DataSets and Concurrency
Handling Concurrency Violations
Pessimistic Concurrency
Transactions
DataBase Transactions
Transaction in Stored Procedure
Testing the Stored Procedure
SQL Server Error
Additional Features
AcmePub Database
Connected Database Access
Long Database Operations
Asynchronous Operations
Multiple Active Result Sets
Bulk Copy
LINQ and Entity Framework
Language Integrated Query (LINQ)
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
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
Appendix A – Acme Computer Case Study