Información general sobre los controles de origen de datos

Actualización: noviembre 2007

ASP.NET incluye controles de origen de datos que permiten trabajar con distintos tipos de orígenes de datos, como bases de datos, archivos XML u objetos comerciales de nivel medio. Los controles de origen de datos se conectan a un origen de datos para recuperar datos y permiten a otros controles enlazarse a ellos, sin necesidad de código. También admiten la modificación de datos.

Esta tema ofrece información sobre los distintos tipos de controles de origen de datos en ASP.NET. El modelo de control de origen de datos es ampliable, por lo que también puede crear sus propios controles de origen de datos que interactúen con orígenes de datos diferentes o que proporcionen funcionalidad adicional para un origen de datos existente.

Comparación de controles de origen de datos

.NET Framework incluye controles de origen de datos que admiten el uso de distintos escenarios de enlace de datos. En la tabla siguiente se describen los controles de origen de datos integrados. Encontrará información detallada sobre cada tipo de control de origen de datos más adelante en este tema.

Control de origen de datos

Descripción

LinqDataSource

Permite usar Language-Integrated Query (LINQ) en una página web ASP.NET a través de marcado declarativo para recuperar y modificar datos de un objeto de datos. Admite la generación automática de comandos de selección, actualización, inserción y eliminación. El control también admite ordenación, filtrado y paginación.

EntityDataSource

Permite enlazar a datos basados en Entity Data Model (EDM). Admite la generación automática de comandos de actualización, inserción, eliminación y selección. El control también admite la ordenación, el filtrado y la paginación.

ObjectDataSource

Permite trabajar con un objeto comercial u otra clase y crear aplicaciones Web basadas en objetos de nivel medio para administrar los datos. Admite ordenación avanzada y escenarios de paginación no disponibles con los otros controles de origen de datos.

SqlDataSource

Permite trabajar con bases de datos de Microsoft SQL Server, OLE DB, ODBC u Oracle. Cuando se utiliza con SQL Server, admite funciones de almacenamiento en caché avanzadas. Este control también admite ordenación, filtrado y paginación cuando los datos se devuelven como un objeto DataSet.

AccessDataSource

Permite trabajar con una base de datos de Microsoft Access. Admite ordenación, filtrado y paginación cuando los datos se devuelven como un objeto DataSet.

XmlDataSource

Permite trabajar con un archivo XML, especialmente para los controles de servidor ASP.NET como TreeView o Menu. Admite funciones de filtrado mediante expresiones XPath y permite aplicar una transformación XSLT a los datos. El control XmlDataSource permite actualizar los datos al guardar el documento XML completo con cambios.

SiteMapDataSource

Se utiliza con la navegación en el sitio de ASP.NET. Para obtener más información, vea Información general sobre la exploración del sitio de ASP.NET.

Control LinqDataSource

El control LinqDataSource permite usar LINQ en una página ASP.NET para recuperar datos de una tabla de base de datos o de una recolección de datos en memoria. Puede usar marcado declarativo para escribir todas las condiciones que se requieren para recuperar, filtrar, ordenar y agrupar los datos. Si recupera datos de una tabla de base de datos SQL, también puede configurar un control LinqDataSource para administrar las operaciones de actualización, inserción y eliminación. Puede escribir comandos SQL para realizar estas tareas. Si usa el control LinqDataSource, puede reducir la cantidad de código necesario para las operaciones de datos, en comparación con las mismas operaciones en otros controles de origen de datos.

Para obtener más información, vea Información general sobre el control de servidor web LinqDataSource.

Control SQLDataSource

El control SqlDataSource recupera y modifica datos utilizando comandos SQL. El control SqlDataSource funciona con bases de datos de Microsoft SQL Server, OLE DB, ODBC y Oracle.

El control SqlDataSource puede devolver los resultados en forma de objeto DataReader o DataSet. Admite ordenación, filtrado y almacenamiento en caché cuando los resultados se devuelven como un objeto DataSet. Cuando se trabaja con Microsoft SQL Server, el control tiene la ventaja adicional de que los resultados de la caché se pueden invalidar cuando se modifica la base de datos, utilizando un objeto SqlCacheDependency.

Para obtener más información, vea Información general sobre SqlDataSource (Control de servidor Web).

Control EntityDataSource

El control EntityDataSource admite escenarios de enlace de datos basados en Entity Data Model (EDM). Esta especificación de datos representa los datos como conjuntos de entidades y relaciones. Entity Framework usa el EDM en asignaciones relacionales de objetos y otros escenarios como Servicios de datos de ADO.NET. El control EntityDataSource admite Entity-SQL (eSQL) como el lenguaje de la consulta y también la especificación de la consulta que muestra la clase ObjectQuery<T>.

Para obtener más información, vea Información general sobre el control de servidor web EntityDataSource.

Control ObjectDataSource

El control ObjectDataSource trabaja con un objeto comercial u otra clase en las aplicaciones Web basadas en objetos comerciales de nivel medio para administrar datos. El control está diseñado para interactuar con un objeto que implementa uno o varios métodos a fin de recuperar o modificar datos. Cuando los controles enlazados a datos interactúan con el control ObjectDataSource para recuperar o modificar datos, dicho control pasa los valores del control enlazado al objeto de origen como parámetros de llamadas a métodos.

Los métodos de recuperación de datos del objeto de origen deben devolver un objeto DataSet, DataTable o DataView, o un objeto que implemente la interfaz IEnumerable. Si los datos se devuelven como un objeto DataSet, DataTable o DataView, el control ObjectDataSource puede almacenar datos en caché y filtrarlos. También es posible implementar escenarios de paginación avanzados si el objeto de origen acepta la información de tamaño de página y de índice de registro del control ObjectDataSource.

Para obtener más información, vea Información general sobre el control de servidor web ObjectDataSource.

Control XmlDataSource

El control XmlDataSource lee y escribe datos XML, lo que permite trabajar con ellos mediante controles como TreeView y Menu. El control XmlDataSource puede leer un archivo XML o una cadena de XML. Si el control está trabajando con un archivo XML, puede escribir el código XML modificado en el archivo de código fuente. Si hay un esquema disponible que describe los datos, el control XmlDataSource puede utilizarlo para exponer los datos mediante miembros con tipo.

Puede aplicar una transformación XSLT a los datos XML, lo que le permitirá reestructurar los datos sin formato del archivo XML en un formato más apropiado para el control que desea enlazar con los datos XML.

También puede aplicar expresiones XPath a los datos XML, lo que le permitirá filtrar éstos para devolver únicamente ciertos nodos del árbol XML, buscar nodos con valores determinados, etc. El uso de una expresión XPath deshabilita la funcionalidad de insertar nuevos datos.

Para obtener más información, vea Información general sobre el control de servidor web XmlDataSource.

Control AccessDataSource

El control AccessDataSource es una versión especializada del control SqlDataSource, diseñado para trabajar específicamente con los archivos .mdb de Microsoft Access. Como ocurre con el control SqlDataSource, las instrucciones SQL se utilizan para definir cómo el control obtiene y recupera los datos.

Para obtener más información, vea Información general sobre el control de servidor web AccessDataSource.

Control SiteMapDataSource

El control SiteMapDataSource funciona con los mapas de sitios ASP.NET y proporciona datos para la navegación en el sitio. Se suele utilizar con el control Menu. El control SiteMapDataSource también resulta útil cuando se desea personalizar la navegación en el sitio utilizando datos del mapa del sitio con controles de servidor Web que no están diseñados específicamente para la navegación, como los controles TreeView o DropDownList.

Para obtener más información, vea Información general sobre SiteMapDataSource (Control de servidor Web).

Vea también

Conceptos

Información general sobre el acceso a datos en ASP.NET

Establecer enlaces a bases de datos

Utilizar parámetros con controles de origen de datos