Back to questions
Junior — Middle
67
Каким образом можно реализовать условную фильтрацию данных при выполнении SQL-запросов?
Answer from AI
sobes.tech 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();
Такой подход позволяет гибко добавлять фильтры без дублирования кода и риска ошибок.