Динамическая фильтрация с использованием Linq
у меня естьList<Device>
, вDevice
В классе есть 4 свойства, а именноName
, OperatingSystem
, Status
а такжеLastLoggedInUser
, Мне нужно написать метод:
IQueryable<Device> FilterDeviceList(
List<Device> Devices,
List<string> filter,
string filterValue)
гдеfilter
будет содержать параметры для фильтрации"name"
, "os"
указать поля для включения в поиск. Если"all"
пропущено, то все 4 поля должны быть включены.filtervalue
будет содержать значение для фильтрации как"windows"
, "Calvin"
.
Кто-нибудь может предложить метод для достижения этой цели?
Редактировать:
Если мне неясно, я делаю фильтрацию примерно так: это закомментированная часть, для которой мне нужен код.
if(filter.contains(name))
{
//filter with name
}
if( filter.contains(both name and os)
{
// I only need the filter value to contain in name or OS (only needed in any one of the field,not necessary to be in both)
}`