Sobes.tech
Junior — Middle

Cum se poate implementa filtrarea condițională a datelor la executarea interogărilor SQL?

sobes.tech AI

Răspuns de la AI

Pentru a implementa filtrarea condițională a datelor în interogările SQL, puteți utiliza generarea dinamică a interogărilor ținând cont de condițiile care pot fi setate sau omise în timpul execuției.

În C#, acest lucru se face adesea prin:

  • Concatenarea de șiruri cu verificarea condițiilor (nu recomandat din cauza riscului de injecție SQL).
  • Utilizarea interogărilor parametrizate cu parametri condiționali.
  • Utilizarea ORM, de exemplu, Entity Framework, unde puteți construi interogări folosind LINQ, adăugând condiții după necesitate.

Exemplu cu 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();

Această abordare permite adăugarea flexibilă a filtrelor fără a duplica codul și fără a risca erori.