I am using jqgrid in MVC 4. I have written a method for getting a list in linq. In my function I am getting all values of jqgrid with search criteria i.e. Operator AND/OR , operations Equals to, not equals to etc. Here I am also getting the column name like Name, City, State etc.
My problem is I can't pass the column name directly in linq query i.e. I have to use the column name as x => x.Name
switch (rule.field)
{
    case "Name":
    query = query.Where(x => x.Name.StartsWith(rule.data, StringComparison.OrdinalIgnoreCase));
    break;
    case "Course":
    query = query.Where(x => x.Course.StartsWith(rule.data, StringComparison.OrdinalIgnoreCase));
    break;
}
In rule.field I am getting column Name i.e. Name, city, state etc.  I want to pass the column name which I am getting in rule.filed in LINQ query instead of x =>x.Name.
Is there any way to do it so I can avoid writing switch cases?
 
     
     
    