Sobes.tech
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();

Този подход позволява гъвкаво добавяне на филтри без дублиране на код и риск от грешки.