Sobes.tech
Junior — Middle

Kaip galima įgyvendinti sąlyginius duomenų filtravimus vykdant SQL užklausas?

sobes.tech AI

Atsakymas iš AI

Įgyvendinant sąlyginį duomenų filtravimą SQL užklausose, galima naudoti dinaminį užklausų formavimą, atsižvelgiant į sąlygas, kurios gali būti nustatytos arba praleistos vykdymo metu.

C# dažnai tai daroma taip:

  • Eilučių sujungimas su sąlygų patikrinimu (nerekomenduojama dėl SQL injekcijos rizikos).
  • Naudojant parametrizuotas užklausas su sąlyginiais parametrais.
  • Naudojant ORM, pvz., Entity Framework, kur galima kurti užklausas naudojant LINQ ir pridėti sąlygas pagal poreikį.

Pavyzdys su 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();

Šis požiūris leidžia lankstiai pridėti filtrus be kodo dubliavimo ir sumažinti klaidų riziką.