Filtrado dinámico usando Linq
tengo unList<Device>
. En elDevice
clase hay 4 propiedades, a saberName
, OperatingSystem
, Status
yLastLoggedInUser
. Necesito escribir un método:
IQueryable<Device> FilterDeviceList(
List<Device> Devices,
List<string> filter,
string filterValue)
dóndefilter
contendrá opciones para filtrar"name"
, "os"
para indicar los campos a incluir en la búsqueda. Si"all"
se pasa, entonces se deben incluir los 4 campos.filtervalue
contendrá el valor a filtrar como"windows"
, "Calvin"
.
¿Alguien puede sugerir un método para lograr esto?
Editar:
Si no estaba claro, estoy haciendo el filtrado de esta manera, es la parte comentada para la que necesito el código.
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)
}`