Introducción a ADO.NET.
ADO.NET es un conjunto de clases relacionadas entre sí que están especializadas en ofrecer toda la funcionalidad que un programador necesita para realizar el acceso a datos. Las clases genéricas expuestas por ADO.NET se encuentran bajo el espacio de nombres System.Data
El objeto más importante a la hora de trabajar con el nuevo modelo de acceso a datos es el DataSet
Arquitectura de ADO.NET.
Existen dos capas fundamentales dentro de su arquitectura: la capa conectada y la desconectada.
La capa conectada.
La capa conectada de ADO.NET contiene objetos especializados en la conexión con los orígenes de datos. Así, la clase genérica Connection se utiliza para establecer Conexiones a los orígenes de datos. La clase Command se encarga de enviar comandos al origen de datos. La clase DataReader lee los resultados de los comandos.
La clase DataAdapter hace uso de las tres anteriores para actuar de puente entre la capa conectada y la desconectada.
Un proveedor de datos de ADO.NET es una implementación concreta de las clases conectadas abstractas que hemos visto, que hereda de éstas y que tiene en cuenta ya todas las particularidades del origen de datos en cuestión.
Por ejemplo, las clases específicas para acceder a SQL Server se llaman SqlConnection, SqlCommand, SqlDataReader y SqlDataAdapter y se encuentran bajo el espacio de nombres System.Data.SqlClient.
Existen proveedores nativos, que son los que se comunican directamente con el Origen de datos (por ejemplo el de SQL Server o el de Oracle), y proveedores “puente”, que se utilizan para acceder a través de ODBC u OLEDB cuando no existe un proveedor nativo para un determinado origen de datos.
Los proveedores puente, ofrecen un rendimiento menor debido a la capa intermedia que están utilizando (ODBC u OLEDB). Se puede utilizar siempre el proveedor puente para OLEDB y así escribir código compatible con diversos gestores de datos de forma muy sencilla. Aunque esto hará que baje bastante el rendimiento.
Proveedor Espacio de nombres Descripción
•Las clases derivadas de Connection se utilizan para realizar la conexión y enviar y recibir información.
•Las clases derivadas de Command permiten ejecutar sentencias SQL y procedimientos almacenados en el gestor de datos.
•Las clases derivadas de DataReader se emplean para obtener los posibles resultados de un comando utilizando para ello el conducto de comunicación establecido por Connection.

