Sobes.tech
Junior — Middle

Come si può implementare un filtro condizionale dei dati durante l'esecuzione di query SQL?

sobes.tech AI

Risposta dell'AI

Per implementare un filtraggio condizionale dei dati nelle query SQL, è possibile utilizzare la generazione dinamica di query tenendo conto delle condizioni che possono essere impostate o omesse durante l'esecuzione.

In C#, questo si fa spesso tramite:

  • Concatenazione di stringhe con verifica delle condizioni (non raccomandato a causa del rischio di injection SQL).
  • Uso di query parametrizzate con parametri condizionali.
  • Uso di ORM, ad esempio Entity Framework, dove si possono costruire query usando LINQ, aggiungendo le condizioni secondo necessità.

Esempio con 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();

Questo approccio permette di aggiungere filtri in modo flessibile senza duplicare il codice e senza rischiare errori.