Utilisation de LINQ dans Visual Basic Express

Mise à jour : novembre 2007

Les applications utilisent souvent des données dans les bases de données SQL ou les documents XML. En tant que développeur, vous deviez apprendre un langage secondaire tel que SQL ou XQuery pour utiliser ces données. LINQ (Language Integrated Query) met directement des fonctions de requête à votre disposition en langage Visual Basic pour vous éviter d'avoir à apprendre un langage de requête complètement différent. Vous pouvez maintenant utiliser vos connaissances existantes de Visual Basic, avec quelques mots clés et concepts supplémentaires, pour interroger des bases de données SQL, des groupes de données ADO.NET, des documents XML et toute classe de collection .NET Framework qui implémente l'interface IEnumerable.

Avantages de l'utilisation de LINQ

  • Syntaxe familière pour l'écriture de requêtes

  • Contrôle d'erreurs de syntaxe et de sécurité de type lors de la compilation

  • Prise en charge optimisée du débogueur

  • Prise en charge d'IntelliSense

  • Capacité d'utilisation directe des éléments XML, au lieu de créer un document XML de conteneur, comme c'est le cas avec DOM (Document Object Model) W3C

  • Puissante fonction de modification de documents XML en mémoire, qui est toutefois plus simple à utiliser que XPath ou XQuery

  • Puissantes fonctions de filtrage, de classement et de regroupement

  • Modèle cohérent pour l'utilisation de différents types de sources et formats de données

Écriture de requêtes LINQ

La structure de base d'une requête LINQ reste la même, que vous travailliez avec des groupes de données ADO.NET, des bases de données SQL, des collections .NET Framework ou des documents XML. Une expression de requête commence par une clause From, qui est suivie de clauses de requête telles que Where et Select. L'expression complète est stockée dans une variable de requête qui peut être exécutée ou modifiée sans limite. La syntaxe des expressions de requête est similaire à celle de SQL. Par exemple, vous pourriez utiliser la syntaxe suivante pour écrire une requête LINQ qui retourne tous les étudiants d'une base de données d'étudiants dont les sciences sont le principal sujet :

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

Pour plus d'informations, consultez Requêtes (Visual Basic) et Écriture de votre première requête LINQ (Visual Basic).

Une requête LINQ fait appel à trois étapes de base : obtenir la source de données, définir l'expression de requête et exécuter la requête. Pour plus d'informations, consultez Écriture de votre première requête LINQ (Visual Basic).

LINQ to Objects

Le terme LINQ to Objects fait référence à l'utilisation de LINQ pour interroger des structures de données en mémoire qui prennent en charge IEnumerable. Pour plus d'informations, consultez LINQ to Objects.

LINQ to SQL

Utilisez LINQ to SQL pour accéder à des bases de données SQL Server et SQL Server Express via une couche d'objet fortement typée créée à l'aide du Concepteur O/R.

Vous pouvez utiliser Concepteur O/R pour mapper des classes LINQ to SQL aux tables d'une base de données, puis écrire des requêtes LINQ pour lier des données aux contrôles dans votre application. Par exemple, la requête LINQ suivante lie les résultats d'une requête LINQ (tous les clients américains) à une source de liaison d'un contrôle DataGridView.

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

CustomerBindingSource.DataSource = CustomersQuery

Pour plus d'informations, consultez LINQ to SQL, Vue d'ensemble du Concepteur O/R, Création de classes LINQ to SQL : utilisation du Concepteur O/R et Utilisation de LINQ pour lier des données à des contrôles.

Remarque :

Actuellement, le Concepteur O/R ne prend pas en charge les bases de données SQL Server Compact 3.5. Pour plus d'informations sur l'obtention de SQL Server Express Edition, consultez la section « Obtention de SQL Server Express Edition » dans Comment : installer des exemples de bases de données.

LINQ to DataSet

Le DataSet est utilisé pour lier des données à des contrôles dans une application. Au lieu de vous connecter directement à une base de données, vous pouvez utiliser un DataSet pour créer un cache de données hors connexion qui pourra inclure des sous-ensembles de plusieurs sources de données afin de l'utiliser avec une application. Une fois l'application mise en ligne, la base de données pourra être mise à jour conformément aux modifications du DataSet.

LINQ to DataSet facilite et accélère l'interrogation des données mises en cache par rapport aux méthodes de filtrage et de tri accessibles à un DataSet. Pour plus d'informations, consultez LINQ to DataSet.

LINQ to XML

LINQ to XML vous permet de créer et de modifier facilement des documents XML en utilisant les expressions de requête LINQ au lieu d'avoir à apprendre XPath ou XQuery. LINQ to XML est une nouvelle API en mémoire pour XML qui utilise des constructions de programmation modernes à la place du DOM W3C. Pour plus d'informations, consultez Vue d'ensemble de LINQ to XML dans Visual Basic, Inclusion de balisage XML directement dans votre code : utilisation de littéraux XML et Axes intégrés au langage en Visual Basic (LINQ to XML).

Voir aussi

Concepts

Mise en route (LINQ to SQL)

Autres ressources

Mise en route de LINQ dans Visual Basic

Mise en route (LINQ to DataSet)

Mise en route (LINQ to XML)