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

LINQ API (.Net)

Podemos escrever consultas LINQ para classes que implementam as interfaces IEnumerable <T> ou IQueryable <T>.System.LinqO espaço de nomes inclui as seguintes classes e interfaces que exigem consultas LINQ.

API LINQ
 Quando você adiciona uma nova classe no Visual Studio, o espaço de nomes System.Linq é incluído por padrão.

Consultas LINQ usam métodos de extensão em classes que implementam as interfaces IEnumerable ou IQueryable. Enumerable e Queryable são duas classes estáticas que contêm métodos de extensão para escrever consultas LINQ.

Classe Enumerável (Enumerable)

A classe Enumerable inclui métodos de extensão para classes que implementam a interface IEnumerable<T>, por exemplo, todas as classes de conjuntos integradas implementam a interface IEnumerable<T>, portanto, podemos escrever consultas LINQ para recuperar dados de conjuntos integrados.

A figura a seguir mostra os métodos de extensão contidos na classe Enumerable, que podem ser usados com conjuntos genéricos em C# ou VB.Net.

A figura a seguir mostra todos os métodos de extensão disponíveis na classe Enumerable.

Classe Enumerable

Queryável (Queryable)

A classe Queryable contém métodos de extensão para classes que implementam o membro “IQueryable <t>”, que é usado para fornecer funcionalidades de consulta específicas para fontes de dados conhecidas, por exemplo, o api Entity Framework implementa IQueryable<T> para suportar consultas LINQ por meio do banco de dados subjacente (por exemplo, MS SQL Server).

Além disso, há algumas APIs disponíveis para acessar dados de terceiros. Por exemplo, LINQ to Amazon oferece a funcionalidade de combinar LINQ com os serviços da Web Amazon para procurar livros e outros itens. Isso pode ser feito implementando a interface IQueryable para Amazon.

A figura a seguir mostra os métodos de extensão disponíveis na classe Queryable, que podem ser usados com vários provedores de dados nativos ou de terceiros.

A figura a seguir mostra os métodos de extensão disponíveis na classe Queryable.

Classe Queryable

  Ponto a lembrar

  1. Use o espaço de nomes System.LINQ para usar LINQ.

  2. O api LINQ inclui duas classes estáticas principais: Enumerable e Queryable.

  3. A classe estática Enumerable inclui métodos de extensão para classes que implementam a interface IEnumerable <T>.

  4. O tipo de coleção IEnumerable <T> é uma coleção em memória, como List, Dictionary, SortedList, Queue, HashSet, LinkedList.

  5. A classe estática Queryable inclui métodos de extensão para classes que implementam a interface IQueryable <T>.

  6. O provedor de consulta remota implementou, por exemplo, Linq-to-SQL, LINQ-to-Amazon e outros.