Junior — Middle
Как може да се реализира условното филтриране на данни при изпълнение на SQL заявки?
sobes.tech AI
Отговор от AI
За реализиране на условно филтриране на данни в SQL заявки може да се използва динамично създаване на заявки, като се вземат предвид условията, които могат да бъдат зададени или пропуснати по време на изпълнение.
В C# това често се прави чрез:
- Конкатенация на низове с проверка на условията (не се препоръчва поради риск от SQL инжекции).
- Използване на параметризирани заявки с условни параметри.
- Използване на ORM, например Entity Framework, където може да се строят заявки с LINQ, добавяйки условия при необходимост.
Пример с 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();
Този подход позволява гъвкаво добавяне на филтри без дублиране на код и риск от грешки.