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.