.NET Base Classes
The interfaces on which ADO.NET 1.0 and ADO.NET 1.1 data providers were built were retained for application compatibility. The base classes of ADO.NET 2.0 and higher provide additional functionality:
From a day-to-day programming perspective, these classes are provided as abstract implementation. This means they cannot be instantiated directly, but must be used with Provider factories. Each data provider must supply a Factory class, such as PsqlFactory, that derives from the DbFactory class, which contains a set of static methods. Each of these static methods is a factory method for producing an instance of the base classes.
When a data provider is installed, it is registered with the .NET Framework. This allows the common .NET Framework DbFactory to locate any registered data provider that an application requires and provide a common mechanism to establish a connection to a data source. Ultimately, the .NET Framework provides a fully fledged common programming API for ADO.NET data sources.