Sobes.tech
Junior — Middle

Como pode implementar a filtragem condicional de dados ao executar consultas SQL?

sobes.tech IA

Resposta da IA

Para implementar filtragem condicional de dados em consultas SQL, pode usar a formação dinâmica de consultas tendo em conta as condições que podem ser definidas ou omitidas durante a execução.

Em C#, isto é frequentemente feito através de:

  • Concatenação de strings com verificação de condições (não recomendado devido ao risco de injeção SQL).
  • Uso de consultas parametrizadas com parâmetros condicionais.
  • Uso de ORM, por exemplo, Entity Framework, onde pode construir consultas usando LINQ, adicionando condições conforme necessário.

Exemplo com LINQ:

var query = context.Users.AsQueryable();

if (!string.IsNullOrEmpty(nameFilter)) {
    query = query.Where(u => u.Name.Contains(nameFilter));
}

if (ageFilter.HasValue) {
    query = query.Where(u => u.Age == ageFilter.Value);
}

var result = query.ToList();

Esta abordagem permite adicionar filtros de forma flexível sem duplicar código nem correr o risco de erros.