Я хочу найти данные в базе данных при выполнении любого из условий.
Вставил мой код, чтобы он был более понятным
[HttpGet]
[Route("")]
public IEnumerable<User> GetUsers(string FirstName = null, string LastName = null, int Year = 0, int Month = 0)
{
var users = _context.Users.AsQueryable();
if (FirstName != null || LastName != null || Year != 0 || Month != 0)
{
users = _context.Users.Where(u => (u.CreatedAt.Year == Year) && (u.CreatedAt.Month == Month));
}
else
{
users = _context.Users;
}
return users.ToList();
}
Этот код выполняет простой поиск в базе данных
where year == createdAt.year &&
month == createdAt.month &&
LastName == abc &&
FirstName == abc
Однако, если одно из условий равно 0 / пусто, база данных ничего не возвратит, поскольку нет месяца / года == 0 или имени / фамилии == пусто; Что мне нужно, так это если год / месяц / фамилия / имя 0 / ноль, а затем просто проигнорировать его и проверить другое условие.
Есть идеи?