ADO.Net
Clases dependientes de DataSet
DataView: representa una vista concreta de un DataTable. Normalmente se trata de ordenaciones o filtros sobre los datos originales. Todas las tablas disponen de una vista por defecto (propiedad DefaultView) que ofrece los datos tal y como se han introducido en ésta y es la vista que se usa habitualmente.
DataRelations: define la relación existente entre dos objetos DataTable. Normalmente se suelen utilizar un identificador común a ambas tablas aunque pueden ser combinaciones de más de uno de ellos.
Constraint: las clases Constraint se emplean para definir resticciones en los tipos de datos contenidos en un DataTable.
DataRow: representa un registro de la tabla virtual definida por el DataTable. Contiene tantos elementos como campos tiene la tabla, cada uno del tipo definido por el objeto DataColumn correspondiente.
DataColumn: ofrece información sobre cada uno de los campos de los registros almacenados en un DataTable, como su nombre o su tipo.
DataTable: representa una tabla o relación de datos. Se puede asimilar a una tabla de un gestor de datos. Los datos obtenidos de una consulta de tipo SELECT de SQL se almacenan en un objeto de esta clase.
Concepto
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 acceso a datos y manejarlos una vez los ha obtenido.
Objetos ADO.Net
Objeto DataSet
El DataSet es una copia en memoria de los datos. Un DataSet no tiene conocimiento de una conexión de datos. Una vez que el DataSet se ha llenado, no sabe de donde provinieron los datos. Puede agregar datos a un DataSet desde varias fuentes.
Modelo desconectado
Se conecta a la fuente de datos a través del DataAdapter
Soporta las actualizaciones por lotes
Soporta la unión de datos
Escritura sólida
Índice en forma de arreglo
No tiene conocimientos sobre la fuente
de datos
Vista relacional de datos
Contiene tablas, columnas, filas, restricciones,
vistas y relaciones
Objeto DataReader
DataReader es un flujo de sólo hacia delante y sólo lectura
devuelto de la base de datos. Representa los resultados de una consulta o un comando ejecutado
Depende del Command hasta que termina la lectura
Este consciente de que la clase Command no puede procesar ninguna otra solicitud mientras está leyendo los datos, se bloquea hasta que haya terminado.
Creación de instancias por el método Command Execute
Realmente, no puede crear instancias de DataReader de manera directa.
Objeto Command
Estos tres métodos del objeto Command ejecutan una consulta SQL o procedimiento almacenado y pueden o no devolver diferentes tipos de datos.
Utiliza el método ExecuteScalar para recuperar un valor único (por ejemplo, un valor agregado) desde una base de datos.
El método ExecuteNonQuery ejecuta una consulta SQL o un procedimiento almacenado y no regresa registros
En ADO .NET, ExecuteReader ejecuta una consulta SQL o un procedimiento almacenado y devuelve un DataReader.
Arquitectura de ADO.Net
Capa Desconectada
Los objetos DataSet no dependen de proveedor de datos alguno y su funcionamiento es independiente de cómo hayan sido obtenidos los datos que contienen.
Todo esto y mucho más es lo que nos otorga el uso de los objetos DataSet, núcleo central de la capa desconectada de ADO.NET.
Finalmente otro motivo por el que es importante el uso de los datos desconectado de su origen es la transferencia de información entre capas de una aplicación.
A veces únicamente necesitamos un almacén de datos temporal pero que ofrezca características avanzadas de gestión y acceso a la información.
Capa Conectada
La clase DataAdapter hace uso de las tres anteriores para actuar de puente entre la capa conectada y la desconectada como veremos después.
La clase DataReader está especializada en leer los resultados de los comandos.
La clase Command se encarga de enviar comandos de toda índole al origen de datos.
La clase genérica Connection se utiliza para establecer conexiones a los orígenes de datos.