The System.Data.Common namespace provides classes for creating DbProviderFactory instances to work with specific data sources. When you create a DbProviderFactory instance and pass it information about the data provider, the
DbProviderFactory can determine the correct, strongly typed connection object to return based on the information it has been provided.
Beginning in the .NET Framework version 4, data providers such as System.Data.Odbc, System.Data.OleDb, System.Data.SqlClient, and System.Data.OracleClient are no longer listed in machine.config file, but custom providers will continue to be listed there.
Factory Model Overview
Provides an overview of the factory design pattern and programming interface.