ExpertiDict

C# · Avançado · Inglês · Técnico

global query filter

/ˈɡloʊbəl ˈkwɪri ˈfɪltɚ/substantivo

Filtro LINQ configurado no modelo do EF Core que é aplicado automaticamente a todas as consultas de uma entidade, usado em soft delete e multi-tenancy.

Onde usar

Aparece em sistemas com exclusão lógica, em que toda consulta deve ignorar registros marcados como removidos, ou em multi-tenant. Use IgnoreQueryFilters() quando precisar enxergar tudo, como em relatórios administrativos.

Em código

protected override void OnModelCreating(
  ModelBuilder mb)
{
  mb.Entity<Livro>()
    .HasQueryFilter(l => !l.Excluido);
}

Exemplos

We implemented soft delete with a global query filter.

Implementamos soft delete com um global query filter.

Use IgnoreQueryFilters to see deleted rows.

Use IgnoreQueryFilters para ver as linhas excluídas.

Cuidado

Não esqueça que ele afeta Include e entidades relacionadas: um filtro na entidade principal pode esconder dados e gerar avisos ou resultados inesperados na dependente.

Sinônimos

filtro global de consulta

Veja também

Todos os termos de C#