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.