English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

API LINQ (.Net)

Nous pouvons écrire des requêtes LINQ pour les classes implémentant les interfaces IEnumerable <T> ou IQueryable <T>.System.LinqLe namespace comprend les classes et les interfaces suivantes, nécessitant des requêtes LINQ.

API LINQ
 Lorsque vous ajoutez une nouvelle classe dans Visual Studio, le namespace System.Linq est inclus par défaut.

Les requêtes LINQ utilisent des méthodes d'extension pour les classes implémentant les interfaces IEnumerable ou IQueryable. Enumerable et Queryable sont deux classes statiques qui contiennent des méthodes d'extension pour écrire des requêtes LINQ.

Classe enumerable (Enumerable)

La classe Enumerable inclut des méthodes d'extension pour les classes implémentant l'interface IEnumerable<T>, par exemple, toutes les classes de collections intégrées implémentent l'interface IEnumerable<T>, donc nous pouvons écrire des requêtes LINQ pour extraire des données des collections intégrées.

La figure ci-dessous montre les méthodes d'extension de la classe Enumerable, qui peuvent être utilisées avec les collections génériques de C# ou VB.Net.

La figure suivante montre toutes les méthodes d'extension disponibles dans la classe Enumerable.

Classe Enumerable

Requérable (Queryable)

La classe Queryable contient des méthodes d'extension pour les classes qui implémentent le membre "IQueryable <t> interface". L'interface IQueryable<T> est utilisée pour fournir des fonctionnalités de requête spécifiques aux types de données connus pour des sources de données spécifiques, par exemple, l'API Entity Framework implémente IQueryable<T> pour les requêtes LINQ prises en charge par la base de données sous-jacente (par exemple MS SQL Server).

De plus, il existe quelques API disponibles pour accéder aux données tierces. Par exemple, LINQ to Amazon offre la fonctionnalité de combiner LINQ avec les services Web Amazon Web pour rechercher des livres et d'autres articles. Cela peut être réalisé en implémentant l'interface IQueryable pour Amazon.

La figure suivante montre les méthodes d'extension disponibles dans la classe Queryable, qui peuvent être utilisées avec divers fournisseurs de données natifs ou tiers.

La figure suivante montre les méthodes d'extension disponibles dans la classe Queryable.

Classe Queryable

  Points à retenir

  1. Utilisez l'espace de noms System.LINQ pour utiliser LINQ.

  2. L'API LINQ inclut deux classes statiques principales Enumerable et Queryable.

  3. La classe Enumerable statique inclut des méthodes d'extension pour les classes qui implémentent l'interface IEnumerable <T>.

  4. Le type de collection IEnumerable <T> est une collection en mémoire, par exemple List, Dictionary, SortedList, Queue, HashSet, LinkedList.

  5. La classe Queryable statique inclut des méthodes d'extension pour les classes qui implémentent l'interface IQueryable <T>.

  6. Le fournisseur de requête à distance implémente par exemple Linq-à-SQL, LINQ-à-Amazon et autres.