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ą.