Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
DataSet es uno de los componentes más usados de ADO.NET. Es un elemento clave del modelo de programación desconectado en el que se basa ADO.NET y permite almacenar explícitamente datos en caché de diferentes orígenes de datos. Para el nivel de presentación, DataSet está estrechamente integrado en los controles de GUI para el enlace de datos. Para el nivel intermedio, proporciona una memoria caché que conserva la forma relacional de los datos e incluye servicios de navegación de jerarquía y consultas simples rápidos. Una técnica común que se usa para reducir el número de solicitudes a una base de datos es utilizar el DataSet para el almacenamiento en caché en la capa intermedia. Por ejemplo, considere una aplicación web de ASP.NET controlada por datos. A menudo, una parte significativa de los datos de la aplicación no cambia con frecuencia y es común entre sesiones o usuarios. Estos datos se pueden mantener en memoria en el servidor web, lo que reduce el número de solicitudes en la base de datos y acelera las interacciones del usuario. Otro aspecto útil de DataSet es que permite que una aplicación incorpore subconjuntos de datos de uno o varios orígenes de datos al espacio de la aplicación. Después, la aplicación puede manipular los datos en memoria, a la vez que conserva su forma relacional.
A pesar de su importancia, tiene DataSet funcionalidades de consulta limitadas. El Select método se puede usar para filtrar y ordenar, y los GetChildRows métodos y GetParentRow se pueden usar para la navegación por jerarquías. Sin embargo, para cualquier cosa más compleja, el desarrollador debe escribir una consulta personalizada. Esto puede dar lugar a aplicaciones que funcionan mal y son difíciles de mantener.
LINQ to DataSet facilita y acelera la consulta sobre los datos almacenados en caché en un DataSet objeto . Estas consultas se expresan en el propio lenguaje de programación, en lugar de como literales de cadena insertados en el código de la aplicación. Esto significa que los desarrolladores no tienen que aprender un lenguaje de consulta independiente. Además, LINQ to DataSet permite a los desarrolladores de Visual Studio trabajar de forma más productiva, ya que el IDE de Visual Studio proporciona comprobación de sintaxis en tiempo de compilación, escritura estática e compatibilidad con IntelliSense para LINQ. LINQ to DataSet también se puede usar para consultar los datos que se han consolidado a partir de uno o varios orígenes de datos. Esto permite muchos escenarios que requieren flexibilidad en cómo se representan y controlan los datos. En concreto, las aplicaciones genéricas de informes, análisis e inteligencia empresarial requieren este método de manipulación.
Consulta de conjuntos de datos mediante LINQ to DataSet
Antes de que pueda comenzar a consultar un objeto DataSet usando LINQ to DataSet, debe rellenar el DataSet. Hay varias maneras de cargar datos en un DataSet, como usar la clase DataAdapter o LINQ to SQL. Una vez cargados los datos en un DataSet objeto, puede empezar a consultarlos. La formulación de consultas mediante LINQ to DataSet es similar al uso de Language-Integrated Query (LINQ) en otros orígenes de datos habilitados para LINQ. Las consultas LINQ se pueden realizar en tablas únicas de DataSet o en más de una tabla mediante los operadores de consulta estándar Join y GroupJoin.
Las consultas LINQ se admiten tanto en objetos tipados como en objetos no tipados DataSet. Si el esquema del DataSet se conoce durante el diseño de la aplicación, se recomienda usar un DataSet tipado. En un DataSet tipado, las tablas y filas tienen miembros tipados para cada una de las columnas, lo que hace que las consultas sean más sencillas y legibles.
Además de los operadores de consulta estándar implementados en System.Core.dll, LINQ to DataSet agrega varias DataSetextensiones específicas que facilitan la consulta a través de un conjunto de DataRow objetos. Estas DataSet extensiones específicas incluyen operadores para comparar secuencias de filas, así como métodos que proporcionan acceso a los valores de columna de un DataRow.
Aplicaciones de n niveles y LINQ to DataSet
Las aplicaciones de datos de n niveles son aplicaciones centradas en datos que se separan en varias capas lógicas (o niveles). Una aplicación típica de N niveles incluye un nivel de presentación, un nivel intermedio y un nivel de datos. Separar los componentes de la aplicación en niveles independientes aumenta la capacidad de mantenimiento y la escalabilidad de la aplicación. Para más información sobre las aplicaciones de datos de n niveles, consulte Trabajar con conjuntos de datos en aplicaciones de n niveles.
En las aplicaciones de n niveles, DataSet a menudo se usa en el nivel intermedio para almacenar en caché la información de una aplicación web. La funcionalidad de consulta LINQ to DataSet se implementa mediante métodos de extensión y amplía la ADO.NET 2.0 DataSetexistente.