Compartir vía


Arquitectura de ADO.NET

El procesamiento de datos tradicionalmente se ha basado principalmente en un modelo basado en conexiones de dos niveles. A medida que el procesamiento de datos usa cada vez más arquitecturas de varios niveles, los programadores cambian a un enfoque desconectado para proporcionar una mejor escalabilidad para sus aplicaciones.

Componentes de ADO.NET

Los dos componentes principales de ADO.NET para acceder y manipular datos son los proveedores de datos de .NET Framework y DataSet.

Proveedores de datos de .NET Framework

Los proveedores de datos de .NET Framework son componentes que se han diseñado explícitamente para la manipulación de datos y acceso rápido, de solo avance y de solo lectura a los datos. El Connection objeto proporciona conectividad a un origen de datos. El Command objeto permite el acceso a los comandos de base de datos para devolver datos, modificar datos, ejecutar procedimientos almacenados y enviar o recuperar información de parámetros. DataReader proporciona un flujo de datos de alto rendimiento desde el origen de datos. Por último, DataAdapter proporciona el puente entre el DataSet objeto y el origen de datos. DataAdapter utiliza objetos Command para ejecutar comandos SQL en el origen de datos, tanto para cargar el DataSet con datos como para conciliar los cambios realizados a los datos en el DataSet de vuelta al origen de datos. Para obtener más información, vea Proveedores de datos de .NET Framework y Recuperación y modificación de datos en ADO.NET.

Conjunto de datos

El ADO.NET DataSet está diseñado explícitamente para el acceso a datos independientemente de cualquier origen de datos. Como resultado, se puede usar con varios orígenes de datos y diferentes, se usa con datos XML o se usa para administrar datos locales en la aplicación. DataSet contiene una colección de uno o varios DataTable objetos que constan de filas y columnas de datos, así como la clave principal, la clave externa, la restricción y la información de relación sobre los datos de los DataTable objetos. Para obtener más información, vea DataSets, DataTables y DataViews.

En el diagrama siguiente se muestra la relación entre un proveedor de datos del .NET Framework y un DataSet.

Gráfico de ADO.Net ado_1_bpuedev11
arquitectura de ADO.NET

Elección de un DataReader o un Conjunto de Datos

Cuando decida si la aplicación debe usar un DataReader objeto (consulte Recuperación de datos mediante dataReader) o un DataSet objeto (consulte DataSets, DataTables y DataViews), tenga en cuenta el tipo de funcionalidad que requiere la aplicación. Usa un DataSet para hacer lo siguiente:

  • Almacenar en caché los datos localmente en la aplicación para que pueda manipularlos. Si solo necesita leer los resultados de una consulta, DataReader es la mejor opción.

  • Datos remotos entre niveles o desde un servicio web XML.

  • Interactúe dinámicamente con datos, como enlazar a un control de Windows Forms o combinar y relacionar datos de varios orígenes.

  • Realice un procesamiento exhaustivo en los datos sin necesidad de una conexión abierta al origen de datos, que libera la conexión que otros clientes usarán.

Si no necesita la funcionalidad proporcionada por DataSet, puede mejorar el rendimiento de su aplicación al usar DataReader para devolver los datos en modo de solo avance y solo lectura. Aunque el DataAdapter utiliza el DataReader para rellenar el contenido de un DataSet (vea Rellenar un DataSet desde un DataAdapter), mediante el uso del DataReader, puede mejorar el rendimiento porque se ahorrará la memoria que consumiría el DataSet, y evitará el procesamiento necesario para crear y rellenar el contenido del DataSet.

LINQ to DataSet

LINQ to DataSet proporciona funcionalidades de consulta y comprobación de tipos en tiempo de compilación sobre los datos almacenados en caché en un objeto DataSet. Permite escribir consultas en uno de los lenguajes de desarrollo de .NET Framework, como C# o Visual Basic. Para obtener más información, consulte LINQ to DataSet.

LINQ to SQL

LINQ to SQL admite consultas en un modelo de objetos que se asigna a las estructuras de datos de una base de datos relacional sin usar un modelo conceptual intermedio. Cada tabla se representa mediante una clase independiente, acoplando estrechamente el modelo de objetos al esquema de base de datos relacional. LINQ to SQL traduce las consultas integradas en el lenguaje en el modelo de objetos en Transact-SQL y las envía a la base de datos para su ejecución. Cuando la base de datos devuelve los resultados, LINQ to SQL convierte los resultados de nuevo en objetos . Para obtener más información, consulte LINQ to SQL.

ADO.NET Entity Framework

El ADO.NET Entity Framework está diseñado para permitir a los desarrolladores crear aplicaciones de acceso a datos mediante la programación con un modelo de aplicación conceptual en lugar de programar directamente en un esquema de almacenamiento relacional. El objetivo es reducir la cantidad de código y mantenimiento necesarios para las aplicaciones orientadas a datos. Para obtener más información, consulte ADO.NET Entity Framework.

Servicios de datos de WCF

WcF Data Services se usa para implementar servicios de datos en la Web o en una intranet. Los datos se estructuran como entidades y relaciones según las especificaciones del modelo de datos de entidad. Los datos implementados en este modelo son direccionables por el protocolo HTTP estándar. Para obtener más información, consulte WCF Data Services 4.5.

XML y ADO.NET

ADO.NET aprovecha la eficacia de XML para proporcionar acceso desconectado a los datos. ADO.NET se diseñó conjuntamente con las clases XML en el .NET Framework; ambos son componentes de una sola arquitectura.

ADO.NET y las clases XML de .NET Framework convergen en el DataSet objeto . DataSet se puede rellenar con datos de un origen XML, ya sea un archivo o una secuencia XML. DataSet puede ser escrito como XML que cumple con el World-Wide Web Consortium (W3C) e incluye su esquema como definición de esquema XML (XSD), sin importar la fuente de los datos en DataSet. Debido a que el formato de serialización nativo de DataSet es XML, es un medio excelente para trasladar datos entre niveles, lo que convierte a DataSet en la opción óptima para transmitir datos y el contexto del esquema hacia y desde un servicio web XML. Para obtener más información, vea Documentos y datos XML.

Consulte también