Menu Docs
Página inicial do Docs
/ / /
Provedor do EF Core
/

Dados da consulta

Nesta página

  • Visão geral
  • Encontrar entidades
  • Encontre uma única entidade
  • Encontrar múltiplas entidades
  • Entidades de classificação
  • Informações adicionais

O Entity Framework Core permite que você trabalhe com dados em seu aplicação sem executar os comandos do banco de dados de dados explicitamente. Para consultar seus dados, use a sintaxe Query integrada da linguagem (LINQ). O LINQ permite que você escreva queries fortemente digitadas usando palavras-chave e operadores específicos do C#. Quando você executa o aplicação, o EF Core Provider traduz automaticamente as queries do LINQ e as executa no banco de banco de dados usando a MongoDB Query API.

Neste guia, você pode ver exemplos de operações de query comuns em um aplicação configurado para usar o EF Core Provider.

Dica

Para saber como configurar um aplicação para usar o fornecedor do EF Core, consulte Configurar o fornecedor do EF Core.

Encontre uma única entidade usando o método FirstOrDefault() ou encontre múltiplas entidades usando o método Where() .

O método FirstOrDefault() retorna a primeira entidade que encontra na sua collection que corresponda aos critérios de pesquisa e retorna null se nenhuma entidade correspondente for encontrada.

O código a seguir usa o método FirstOrDefault() para localizar um planeta com o campo name de "Mercury" de um DBSet chamado Planets e imprime o nome do planeta no console:

var planet = db.Planets.FirstOrDefault(p => p.name == "Mercury");
Console.WriteLine(planet.name);

Você pode utilizar o método Where() para recuperar múltiplas entidades de sua collection. Where() retorna todas as entidades que correspondem aos critérios de pesquisa.

O código a seguir usa o método Where() para encontrar todos os planetas que têm o campo hasRings definido como true e imprime os nomes dos planetas no console.

var planets = db.Planets.Where(p => p.hasRings);
foreach (var p in planets)
{
Console.WriteLine(p.name);
}

Utilize o método OrderBy() para especificar uma ordem na qual retornar entidades de uma query. OrderBy() classifica os elementos em ordem crescente com base em critérios de classificação especificados.

O código a seguir usa o método OrderBy() para encontrar todos os planetas e classificá-los pelo valor do campo orderFromSun em ordem crescente. Em seguida, ele imprime os resultados no console.

var planetList = db.Planets.OrderBy(p => p.orderFromSun);
foreach (var p in planetList)
{
Console.WriteLine(p.name);
}
Mercury
Venus
Earth
Mars
Jupiter
Saturn
Uranus
Neptune

Dica

Classificar em ordem decrescente

Você pode classificar os resultados de uma query em ordem decrescente utilizando o método OrderByDescending() .

Você pode executar uma classificação secundária em sua query usando o método ThenBy() . O método ThenBy() classifica os resultados do método OrderBy() em ordem crescente com base em critérios de classificação especificados. O método ThenBy() deve ser encadeado ao método OrderBy() .

Dica

Classificação secundária em ordem decrescente

Você pode executar uma classificação secundária em ordem decrescente usando o método ThenByDescending() .

O código a seguir usa os métodos OrderBy() e ThenBy() para encontrar todos os planetas e classificá-los pelo campo hasRings() , com uma classificação secundária no campo name .

var planetList = db.Planets.OrderBy(o => o.hasRings).ThenBy(o => o.name);
foreach (var p in planetList)
{
Console.WriteLine("Has rings: " + p.hasRings + ", Name: " + p.name);
}
Has rings: False, Name: Earth
Has rings: False, Name: Mars
Has rings: False, Name: Mercury
Has rings: False, Name: Venus
Has rings: True, Name: Jupiter
Has rings: True, Name: Neptune
Has rings: True, Name: Saturn
Has rings: True, Name: Uranus

Dica

Ao ordenar em campos com um valor booleano, as entidades com um valor de campo de false são exibidas antes daquelas com um valor de true.

Para saber mais sobre os métodos discutidos nesta guia, consulte os seguintes links de documentação da API .NET:

  • FirstOrDefault()

  • onde ()

  • Ordenar por ()

  • Ordenar por ordem decrescente()

  • EntãoBy()

  • Então por ordem descendente ()

Voltar

Configuração