English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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.
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.
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类包含用于实现成员“IQueryable <t>接口的类的扩展方法。该IQueryable<T>接口用于提供针对已知数据类型的特定数据源的查询功能,例如,Entity Framework api实现了IQueryable<T>针对通过底层数据库(例如MS SQL Server)支持LINQ查询。
此外,还有一些API可用于访问第三方数据。例如,LINQ to Amazon提供了将LINQ与Amazon Web服务结合使用以搜索书籍和其他物品的功能。这可以通过为Amazon实现IQueryable接口来实现。
以下图显示了Queryable该类中可用的扩展方法,可以与各种本机或第三方数据提供程序一起使用。
以下图显示了Queryable该类中可用的扩展方法。
使用 System.LINQ 命名空间来使用 LINQ。
LINQ api包括两个主要的静态类Enumerable 和 Queryable。
静态Enumerable类包括用于实现IEnumerable <T>接口的类的扩展方法。
IEnumerable <T>集合的类型是内存中的集合,例如List,Dictionary,SortedList,Queue,HashSet,LinkedList。
静态Queryable类包括用于实现IQueryable <T>接口的类的扩展方法。
远程查询提供程序实现了例如Linq-to-SQL,LINQ-to-Amazon等。