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

API LINQ (.Net)

Podemos escribir consultas LINQ para las clases que implementan los interfaces IEnumerable <T> o IQueryable <T>.System.LinqEl espacio de nombres incluye las clases y interfaces que requieren consultas LINQ.

API de LINQ
 Cuando se agrega una nueva clase en Visual Studio, se incluye por defecto el espacio de nombres System.Linq.

Las consultas LINQ utilizan métodos de extensión para las clases que implementan los interfaces IEnumerable o IQueryable. Enumerable y Queryable son dos clases estáticas que contienen métodos de extensión para escribir consultas LINQ.

Clase enumerable (Enumerable)

La clase Enumerable incluye métodos de extensión para las clases que implementan el interfaz IEnumerable<T>, por ejemplo, todas las clases de colecciones integradas implementan el interfaz IEnumerable<T>, por lo que podemos escribir consultas LINQ para recuperar datos de colecciones integradas.

La siguiente imagen muestra los métodos de extensión que contiene la clase Enumerable, que se pueden usar con colecciones genéricas de C# o VB.Net.

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

La siguiente imagen muestra todos los métodos de extensión disponibles en la clase Enumerable.

Clase Enumerable

Consultable (Queryable)

La clase Queryable contiene métodos de extensión para las clases que implementan el miembro “IQueryable <t> interfaz. El interfaz IQueryable<T> se utiliza para proporcionar funcionalidades de consulta específicas para tipos de datos conocidos de fuentes de datos específicas, por ejemplo, el api Entity Framework implementa IQueryable<T> para soportar consultas LINQ a través de la base de datos subyacente (por ejemplo, MS SQL Server).

Además, hay algunas API disponibles para acceder a datos de terceros. Por ejemplo, LINQ to Amazon ofrece la funcionalidad de combinar LINQ con los servicios de Amazon Web para buscar libros y otros artículos. Esto se puede lograr implementando el interfaz IQueryable para Amazon. El interfaz IQueryable<T> se utiliza para proporcionar funcionalidades de consulta específicas para tipos de datos conocidos de fuentes de datos específicas, por ejemplo, el api Entity Framework implementa IQueryable<T> para soportar consultas LINQ a través de la base de datos subyacente (por ejemplo, MS SQL Server).

La siguiente imagen muestra los métodos de extensión disponibles en la clase Queryable, que pueden usarse con varios proveedores de datos nativos o de terceros.

La siguiente imagen muestra los métodos de extensión disponibles en la clase Queryable.

  Clase Queryable

  1. Puntos a recordar

  2. Se debe usar el espacio de nombres System.LINQ para utilizar LINQ.

  3. La clase Enumerable estática incluye métodos de extensión para las clases que implementan el interfaz IEnumerable <T>.

  4. El tipo de colección IEnumerable <T> es una colección en memoria, como List, Dictionary, SortedList, Queue, HashSet, LinkedList.

  5. La clase Queryable estática incluye métodos de extensión para las clases que implementan el interfaz IQueryable <T>.

  6. El proveedor de consulta remota implementó, por ejemplo, Linq-a-SQL, LINQ-a-Amazon y otros.