Compartir a través de


Usar LINQ en Visual Basic Express

Actualización: noviembre 2007

Las aplicaciones suelen usar los datos de bases de datos SQL o documentos XML. Como programador, necesitaba aprender un lenguaje secundario como SQL o XQuery para trabajar con estos datos. Language-Integrated Query (LINQ) introduce funcionalidades de consulta en el propio lenguaje de Visual Basic para que no tenga que aprender un lenguaje de consulta totalmente diferente. Ahora puede utilizar sus conocimientos de Visual Basic, junto con unas pocas palabras clave y conceptos adicionales, para consultar las bases de datos SQL, los conjuntos de datos ADO.NET, los documentos XML y cualquier clase de colecciones de .NET Framework que implemente la interfaz IEnumerable.

Ventajas de utilizar LINQ

  • Sintaxis familiar para escribir consultas

  • Comprobación en tiempo de compilación de errores de sintaxis y seguridad de tipos

  • Compatibilidad mejorada con el depurador

  • Compatibilidad con IntelliSense

  • Posibilidad de trabajar directamente con elementos XML en lugar de crear un documento XML contenedor, que es lo que se requiere en el Modelo de objetos de documento (DOM) de W3C

  • Modificación de documentos XML en memoria que es muy eficaz y, sin embargo, más fácil de usar que XPath o XQuery

  • Eficaces funcionalidades de filtrado, ordenación y agrupación

  • Modelo coherente para trabajar con datos en distintos tipos de formatos y orígenes de datos.

Escribir consultas LINQ

La estructura básica de una consulta LINQ es la misma tanto si trabaja con conjuntos de datos ADO.NET, bases de datos SQL, colecciones .NET Framework como con documentos XML. Una expresión de consulta comienza con una cláusula From, a la que siguen cláusulas de consulta, como Where y Select. La expresión completa se almacena en una variable de consulta que puede ejecutarse o modificarse las veces que sean necesarias. La sintaxis de la expresión de consulta se parece a la sintaxis de SQL. Por ejemplo, puede utilizar la sintaxis siguiente para escribir una consulta LINQ que devuelva todos los alumnos de una base de datos que tienen ciencias como asignatura principal:

Dim StudentQuery = From student in studentApp.students 
    Where student.Major = "Science" _
    Select student

Para obtener más información, vea Consultas (Visual Basic) y Escribir la primera consulta con LINQ (Visual Basic).

Una consulta LINQ está formada por tres fases básicas. Se obtiene el origen de datos, se define la expresión de consulta y, a continuación, se ejecuta la consulta. Para obtener más información, vea Escribir la primera consulta con LINQ (Visual Basic).

LINQ to Objects

El término LINQ to Objects hace referencia al uso de LINQ para consultar estructuras de datos en memoria que admitan IEnumerable. Para obtener más información, vea LINQ to Objects.

LINQ to SQL

Utilice LINQ to SQL para tener acceso a bases de datos de SQL Server y SQL Server Express a través de una capa de objeto con establecimiento inflexible de tipos que cree utilizando Diseñador relacional de objetos.

Puede utilizar el Diseñador relacional de objetos para asignar clases de LINQ to SQL a las tablas de una base de datos y, a continuación, escribir consultas LINQ para enlazar los datos a los controles de la aplicación. Por ejemplo, la siguiente consulta LINQ enlaza los resultados de una consulta (todos los clientes de Estados Unidos) al origen de enlace de un control DataGridView.

Dim CustomersQuery = From customers in NorthwindSampleDataContext1.Customers _
    Where customers.Country = "US" _
    Select customers

CustomerBindingSource.DataSource = CustomersQuery

Para obtener más información, vea LINQ to SQL, Información general sobre el Diseñador relacional de objetos, Crear clases de LINQ to SQL usando el Diseñador relacional de objetos y Usar LINQ para enlazar datos a controles.

Nota:

Actualmente, Diseñador relacional de objetos no admite bases de datos de SQL Server Compact 3.5. Para obtener información sobre cómo obtener SQL Server Express, consulte la sección Obtener SQL Server Express de Cómo: Instalar bases de datos de ejemplo.

LINQ to DataSet

DataSet se utiliza para enlazar datos a los controles de una aplicación. En lugar de conectar directamente con una base de datos, puede utilizar DataSet para crear una caché sin conexión de datos, que pueden incluir subconjuntos de varios orígenes de datos, que se van a usar con una aplicación. Al conectar la aplicación, la base de datos se puede actualizar con los cambios realizados en DataSet.

LINQ to DataSet realiza consultas en datos almacenados en caché de forma más rápida y sencilla que los métodos de filtrado y ordenación disponibles para DataSet. Para obtener más información, consulte LINQ to DataSet.

LINQ to XML

LINQ to XML permite crear y modificar con facilidad documentos XML mediante expresiones de consulta LINQ en lugar de tener que obtener información sobre XPath o XQuery. LINQ to XML es una nueva API en memoria para XML que usa construcciones de programación modernas en lugar de W3C DOM. Para obtener más información, vea Información general sobre LINQ to XML en Visual Basic, Incluir XML directamente en el código: usar literales XML e Ejes integrados en el lenguaje en Visual Basic (LINQ to XML).

Vea también

Conceptos

Introducción (LINQ to SQL)

Otros recursos

Introducción a LINQ en Visual Basic

Introducción (LINQ to DataSet)

Introducción (LINQ to XML)