Junior — Middle
Jak można zaimplementować warunkowe filtrowanie danych podczas wykonywania zapytań SQL?
sobes.tech AI
Odpowiedź od AI
Aby zaimplementować warunkowe filtrowanie danych w zapytaniach SQL, można użyć dynamicznego tworzenia zapytań z uwzględnieniem warunków, które mogą być ustawione lub pominięte podczas wykonywania.
W C# często robi się to za pomocą:
- Konkatenacji łańcuchów z sprawdzaniem warunków (niezalecane ze względu na ryzyko ataku SQL injection).
- Użycia zapytań parametryzowanych z warunkowymi parametrami.
- Użycia ORM, np. Entity Framework, gdzie można budować zapytania za pomocą LINQ, dodając warunki w razie potrzeby.
Przykład z 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();
Takie podejście pozwala elastycznie dodawać filtry bez duplikowania kodu i ryzyka popełnienia błędów.