Junior — Middle
Kā var īstenot nosacījuma datu filtrēšanu, veicot SQL vaicājumus?
sobes.tech AI
Atbilde no AI
Lai īstenotu nosacījuma datu filtrēšanu SQL vaicājumos, var izmantot dinamisku vaicājumu veidošanu, ņemot vērā nosacījumus, kurus var iestatīt vai izlaist izpildes laikā.
C# tas bieži tiek darīts šādi:
- Rindu sasaistīšana ar nosacījumu pārbaudēm (neieteicams SQL injekcijas riska dēļ).
- Izmantojot parametrizētus vaicājumus ar nosacījuma parametriem.
- Izmantojot ORM, piemēram, Entity Framework, kur var veidot vaicājumus, izmantojot LINQ, pievienojot nosacījumus pēc nepieciešamības.
Piemērs ar 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();
Šī pieeja ļauj elastīgi pievienot filtrus bez koda dublēšanas un samazina kļūdu risku.