Sobes.tech
Junior — Middle

Ako implementovať podmienené filtrovanie údajov pri vykonávaní SQL dopytov?

sobes.tech AI

Odpoveď od AI

Na implementáciu podmienečného filtrovania údajov v SQL dopytoch môžete použiť dynamické tvorenie dopytov s prihliadnutím na podmienky, ktoré môžu byť nastavené alebo vynechané počas vykonávania.

V C# sa to často robí pomocou:

  • Konkatenácie reťazcov s kontrolou podmienok (neodporúča sa kvôli riziku SQL injekcie).
  • Použitia parametrizovaných dopytov s podmienkovými parametrami.
  • Použitia ORM, napríklad Entity Framework, kde je možné stavať dopyty pomocou LINQ a pridávať podmienky podľa potreby.

Príklad s 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();

Tento prístup umožňuje flexibilne pridávať filtre bez duplikácie kódu a rizika chýb.