Data Providers Factory en ADO.NET 2.0

Las versiones anteriores a ADO.NET 2.0 presentan ciertas complicaciones a la hora de gestionar distintos proveedores de datos para una misma aplicación. Parte de esta complicación sucede a raíz de que las referencias al proveedor están fuertemente tipeadas dentro del código. 


La salida está en utilizar un conjunto de clases que provean una capa de abstracción con respecto al proveedor que en definitiva se termine utilizando. ADO.NET 2.0 ya implementa esta funcionalidad a través de las Data Providers Factories. Gracias a estos constructores de instancias se puede utilizar un código agnóstico al origen de datos.


Dentro del namespace System.Data.Common están las nuevas clases que ofrecen esta funcionalidad. Para obtener una instancia de una clase se utiliza una factoría. En código:



Es recomendable utilizar una clase Helper para que encapsule el codigo de acceso a datos dentro de nuestra capa de datos.El siguiente código muestra un ejemplo muy simple:



Entonces ahora se puede utilizar el DbHelper en todos los argumentos que soliciten el proveedor de datos. Además, es posible utilizar otros elementos para abstraer las operaciones del proveedor de datos. Por ejemplo, DbCommand.



Suponiendo que el código necesitara utilizar otro proveedor de datos (por ejemplo Oracle) solo bastaría cambiar la string de conexión desde el archivo de configuración de la aplicación para que apunte al nuevo proveedor.