Skip to main content

Qu'est-ce qu'une requête intégrée linguistique?

Language Integrated Query (LINQ) offre la possibilité d'intégrer de manière transparente la syntaxe de requête déclarative dans les langages impératifs, principalement C # et VB.NET.Le développement de LINQ a résolu les problèmes que les développeurs travaillant dans des environnements axés sur des objets rencontrés lors de l'exécution de requêtes.Il a été introduit dans le cadre du Microsoft .NET Framework version 3.5 en novembre 2007 et dans Visual Studio CodeName Orcas.

Avant la création de la requête intégrée du langage, les langues .NET n'avaient pas de moyen natif de remettre en question des bases de données relationnelles ou des documents XML.Les développeurs écrivant dans ces langues devaient intégrer respectivement SQL ou XQuery en tant que chaînes, et cartographier manuellement les données résultant aux objets .NET.Les chaînes de requête et les mappages intégrés n'ont pas pu être validés par les compilateurs .NET, permettant de découvrir des erreurs potentielles au moment de l'exécution.

Un autre problème des développeurs confrontés avant la requête intégrée du langage était que les langues .NET n'avaient objecté que la syntaxe orientée vers les collections de requête.Objets nets.En règle générale, le développeur itérerait sur une collection de sources entière, créant de nouvelles collections de résultats en fonction des critères de recherche.Le développeur pourrait également transformer les données lors de la construction des collections de résultats.Cette approche était lourde;Une simple requête sélectionnée écrite en C # ou VB nécessiterait au moins cinq lignes de code, tandis que la même requête nécessiterait une ligne de code dans un langage de requête.

Les défis de l'interrogation dans un environnement orienté objet ont donné à Microsoft l'impulsion àcréer linq.LINQ fournit une syntaxe de requête qui rappelle SQL à utiliser en ligne avec C # ou VB, avec une vérification de type statique.Lors de l'interrogation.Entre autres avantages, cela se traduit par moins de lignes de code par rapport à une syntaxe purement orientée objet.

Lors de l'accès aux sources de données externes, LINQ et les composants de support suppriment le besoin de langages de requête intégrés et de mappages de données dans une langue .NET elle-même.Afin d'effectuer un mappage de données, LINQ dépend des composants appelés fournisseurs LINQ.LINQ-TO-OBJECTS est le fournisseur de stock qui permet à Linq d'accéder aux collections .NET.De même, il existe des fournisseurs pour accéder aux bases de données relationnelles et aux documents XML.La plupart de ces fournisseurs sont des composants tiers non inclus dans le framework .NET.Quel que soit le fournisseur utilisé, toutes les requêtes utilisent la même syntaxe LINQ.

Entre la syntaxe de requête intégrée linguistique et les fournisseurs se trouve une bibliothèque d'opérateurs de requête ajoutés au .NET Framework dans le cadre des installations LINQ.Ces opérateurs effectuent des tâches telles que le filtrage, l'ordre, les opérations de théorie des ensembles et l'agrégation.Comme ces opérateurs font partie du .NET Framework, ils peuvent également être utilisés sans Linq si le développeur choisit.