English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Wir können LINQ-Abfragen für Klassen schreiben, die das IEnumerable <T> oder IQueryable <T>-Interface implementieren.System.LinqDer Namensraum enthält die folgenden Klassen und Interfaces, die für LINQ-Abfragen erforderlich sind.
LINQ-Abfragen verwenden erweiterte Methoden für Klassen, die das IEnumerable oder IQueryable-Interface implementieren. Enumerable und Queryable sind zwei statische Klassen, die erweiterte Methoden für die Erstellung von LINQ-Abfragen enthalten.
Die Enumerable-Klasse enthält erweiterte Methoden für Klassen, die das IEnumerable<T>-Interface implementieren, z.B. haben alle eingebauten Sammlungs-Klassen das IEnumerable<T>-Interface implementiert, daher können wir LINQ-Abfragen schreiben, um Daten aus eingebauten Sammlungen abzurufen.
Das Diagramm zeigt die erweiterten Methoden der Enumerable-Klasse, die mit generischen Sammlungen in C# oder VB.Net verwendet werden können.
以下图显示了 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-到-SQL,LINQ-到-Amazon 等。