Sobes.tech
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.