Sobes.tech
Junior — Middle

Hoe kan je conditionele gegevensfiltering implementeren bij het uitvoeren van SQL-query's?

sobes.tech AI

Antwoord van AI

Om conditionele gegevensfiltering in SQL-query's te implementeren, kunt u dynamische query-constructie gebruiken rekening houdend met voorwaarden die tijdens de uitvoering kunnen worden ingesteld of weggelaten.

In C# wordt dit vaak gedaan door:

  • Stringconcatenatie met voorwaardelijke controle (niet aanbevolen vanwege het risico op SQL-injectie).
  • Gebruik van parametriseerde queries met voorwaardelijke parameters.
  • Gebruik van ORM, bijvoorbeeld Entity Framework, waarbij je queries kunt bouwen met LINQ en voorwaarden naar behoefte kunt toevoegen.

Voorbeeld met 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();

Deze aanpak maakt het mogelijk om filters flexibel toe te voegen zonder code te dupliceren en zonder fouten te riskeren.