Я передаю модель фильтра в свою службу. Пользователь может выбрать any
, который является null
или пустой строкой. Как настроить одноразовый запрос .Where
, который будет знать, чтобы игнорировать этот фильтр?Фильтр LINQ или все
Пример:
public class UserFilterModel
{
public string State {get; set;};
public string Age {get; set;};
}
Фильтр: (Как мне сделать это лучше соответствовать моим потребностям)
var result = context.Users.Where(u => u.State == filter.State && u.Age == filter.Age);
Таким образом, если пользователь выбирает нулевой или пустым State
, это будет в настоящее время возвращать записи с нулевыми или пустыми состояниями, когда я действительно хочу игнорировать этот фильтр.
Кроме того, я использую asp.net mvc 2, incase Я делаю что-то совершенно неправильное, пожалуйста, скажите мне. Использование шаблона репозитория.
насчет целых чисел, если это 0, как мне справиться с этим? –
@Shawn McLean: Вы имеете в виду, если у вас есть свойство (например, 'DriverLicenseNumber'), и вы хотите игнорировать' DriverLicenseNumber', если 'filter.DriverLicenseNumber == 0' является' true'? Просто '(filter.DriverLicenseNumber == 0 || u.DriverLicenseNumber == filter.DriverLicenseNumber)'. Все дело в том, чтобы использовать короткое замыкание в ваших интересах. – jason