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

API LINQ (.Net)

Possiamo scrivere query LINQ per le classi che implementano l'interfaccia IEnumerable <T> o IQueryable <T>.System.LinqIl namespace include le seguenti classi e interfacce necessarie per le query LINQ.

LINQ API
 Quando si aggiunge una nuova classe in Visual Studio, è inclusa per default la namespace System.Linq.

Le query LINQ utilizzano metodi di estensione per le classi che implementano l'interfaccia IEnumerable o IQueryable. Enumerable e Queryable sono due classi statiche che contengono i metodi di estensione per scrivere query LINQ.

Classe enumerabile (Enumerable)

La classe Enumerable include metodi di estensione per implementare l'interfaccia IEnumerable<T>, ad esempio, tutte le classi di collezioni nativa implementano l'interfaccia IEnumerable<T>, quindi possiamo scrivere query LINQ per recuperare dati dalle collezioni native.

La seguente immagine mostra i metodi di estensione inclusi nella classe Enumerable, che possono essere utilizzati con le collezioni generiche di C# o VB.Net.

以下图显示了Enumerable该类中所有可用的扩展方法。

Enumerable 类

可查询(Queryable)

Queryable类包含用于实现成员“IQueryable <t>接口的类的扩展方法。该IQueryable<T>接口用于提供针对已知数据类型的特定数据源的查询功能,例如,Entity Framework api实现了IQueryable<T>针对通过底层数据库(例如MS SQL Server)支持LINQ查询。

此外,还有一些API可用于访问第三方数据。例如,LINQ to Amazon提供了将LINQ与Amazon Web服务结合使用以搜索书籍和其他物品的功能。这可以通过为Amazon实现IQueryable接口来实现。

以下图显示了Queryable该类中可用的扩展方法,可以与各种本机或第三方数据提供程序一起使用。

以下图显示了Queryable该类中可用的扩展方法。

Queryable 类

  要记住的要点

  1. 使用 System.LINQ 命名空间来使用 LINQ。

  2. LINQ api包括两个主要的静态类Enumerable 和 Queryable。

  3. 静态Enumerable类包括用于实现IEnumerable <T>接口的类的扩展方法。

  4. IEnumerable <T>集合的类型是内存中的集合,例如List,Dictionary,SortedList,Queue,HashSet,LinkedList。

  5. 静态Queryable类包括用于实现IQueryable <T>接口的类的扩展方法。

  6. 远程查询提供程序实现了例如Linq-to-SQL,LINQ-to-Amazon等。