Compartir a través de


Arquitectura de ADO.NET

Actualización: November 2007

Tradicionalmente, el procesamiento de datos ha dependido principalmente de un modelo de dos niveles basado en una conexión. A medida que aumenta el uso que hace el procesamiento de datos de arquitecturas de varios niveles, los programadores están pasando a un enfoque sin conexión con el fin de proporcionar una mejor escalabilidad a sus aplicaciones.

Componentes de ADO.NET

Los dos componentes principales de ADO.NET 3.0 para el acceso a los datos y su manipulación son los proveedores de datos .NET Framework y DataSet.

Proveedores de datos de .NET Framework

Los proveedores de datos de .NET Framework son componentes diseñados explícitamente para la manipulación de datos y el acceso rápido a datos de sólo lectura y sólo avance. El objeto Connection proporciona conectividad a un origen de datos. El objeto Command permite tener acceso a comandos de base de datos para devolver datos, modificar datos, ejecutar procedimientos almacenados y enviar o recuperar información sobre parámetros. DataReader proporciona una secuencia de datos de alto rendimiento desde el origen de datos. Por último, el objeto DataAdapter proporciona el puente entre el objeto DataSet y el origen de datos. DataAdapter utiliza objetos Command para ejecutar comandos SQL en el origen de datos tanto para cargar DataSet con datos y reconciliar en el origen de datos los cambios aplicados a los datos incluidos en el DataSet. Para obtener más información, vea .Proveedores de datos de .NET Framework (ADO.NET) y Recuperación y modificación de datos en ADO.NET.

DataSet

DataSet de ADO.NETestá expresamente diseñado para el acceso a datos independientemente del origen de datos. Como resultado, se puede utilizar con múltiples y distintos orígenes de datos, con datos XML o para administrar datos locales de la aplicación. DataSet contiene una colección de uno o más objetos DataTable formados por filas y columnas de datos, así como información sobre claves principales, claves externas, restricciones y de relación relacionada con los datos incluidos en los objetos DataTable. Para obtener más información, vea DataSets, DataTables y DataViews (ADO.NET).

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

Arquitectura de ADO.NET

Elegir un DataReader o un DataSet

A la hora de decidir si su aplicación debe utilizar un DataReader (vea Recuperar datos mediante DataReader (ADO.NET)) o un DataSet (vea DataSets, DataTables y DataViews (ADO.NET)), debe tener en cuenta el tipo de funcionalidad que su aplicación requiere. Use un DataSet para hacer lo siguiente:

  • Almacene datos en la memoria caché de la aplicación para poder manipularlos. Si solamente necesita leer los resultados de una consulta, el DataReader es la mejor elección.

  • Utilizar datos de forma remota entre un nivel y otro o desde un servicio web XML.

  • Interactuar con datos dinámicamente, por ejemplo para enlazar con un control de formularios Windows Forms o para combinar y relacionar datos procedentes de varios orígenes.

  • Realizar procesamientos exhaustivos de datos sin necesidad de tener una conexión abierta con el origen de datos, lo que libera la conexión para que la utilicen otros clientes.

Si no necesita la funcionalidad proporcionada por el DataSet, puede mejorar el rendimiento de su aplicación si utiliza el DataReader para devolver sus datos de sólo avance y de sólo lectura. Aunque DataAdapter utiliza DataReader para rellenar el contenido de un DataSet (vea Rellenar un objeto DataSet desde un objeto DataAdapter (ADO.NET)), al utilizar el DataReader puede mejorar el rendimiento porque no usará la memoria que utilizaría el DataSet, además de evitar el procesamiento necesario para crear y rellenar el contenido de DataSet.

LINQ to DataSet

LINQ to DataSet proporciona capacidades de consulta y comprobación de tipo en tiempo de compilación de los datos almacenados en caché de 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, vea LINQ to DataSet.

LINQ to SQL

LINQ to SQL admite consultas en un modelo de objetos asignado a las estructuras de datos de una base de datos relacional sin utilizar un modelo conceptual intermedio. Cada tabla se representa mediante una clase distinta, acoplando de manera precisa el modelo de objetos al esquema de la base de datos relacional. LINQ to SQL traduce Language-integrated queries del modelo de objetos a Transact-SQL y lo envía a la base de datos para su ejecución. Cuando la base de datos devuelve los resultados, LINQ to SQL los vuelve a traducir a objetos. Para obtener más información, vea LINQ to SQL.

ADO.NET Entity Framework

ADO.NET Entity Framework está diseñado para permitir que los desarrolladores creen aplicaciones de acceso a los datos programando en un modelo de aplicación conceptual en lugar de programar directamente en un esquema de almacenamiento relacional. El objetivo es disminuir la cantidad de código y mantenimiento necesario para las aplicaciones orientadas a datos. Para obtener más información, vea ADO.NET Entity Framework.

Servicios de datos de ADO.NET

El marco de trabajo de los servicios de datos de ADO.NET se usa para implementar los servicios de datos en la Web o en intranet. Los datos se estructuran como entidades y relaciones de acuerdo a las especificaciones de Entity Data Model. Los datos implementados en este modelo se pueden direccionar mediante el protocolo HTTP estándar. Para obtener más información, vea ADO.NET Data Services Framework.

XML y ADO.NET

ADO.NET aprovecha la eficacia de XML para proporcionar acceso a datos sin conexión. ADO.NET fue diseñado teniendo en cuenta las clases de XML incluidas en .NET Framework; ambos son componentes de una única arquitectura.

ADO.NET y las clases de XML incluidas en .NET Framework convergen en el objeto DataSet. DataSet se puede rellenar con datos procedentes de un origen XML, ya sea éste un archivo o una secuencia XML. DataSet se puede escribir como XML compatible con el consorcio World Wide Web (W3C), que incluye su esquema como esquema lenguaje de definición de esquemas XML, independientemente del origen de los datos incluidos en DataSet. Puesto que el formato nativo de serialización del DataSet es XML, es un medio excelente para mover datos de un nivel a otro, por lo que DataSet es idóneo para utilizar datos y contextos de esquemas de interacción remota desde y hacia un servicio web XML. Para obtener más información, vea Documentos y datos XML.

Vea también

Otros recursos

Información general sobre ADO.NET