【发布时间】:2014-01-03 13:11:05
【问题描述】:
我在 MVC 4 中使用 jqgrid。我编写了一个在 linq 中获取列表的方法。 在我的函数中,我使用搜索条件(即运算符 AND/OR)获取 jqgrid 的所有值 ,操作等于,不等于等。这里我还得到了列名,如名称、城市、州等。
我的问题是我不能直接在 linq 查询中传递列名,即我必须使用列名作为 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;
}
在 rule.field 中,我得到列名,即名称、城市、州等。我想传递我在 LINQ 查询中的 rule.filed 中得到的列名,而不是 x =>x.Name。
有什么办法可以避免编写 switch 案例吗?
【问题讨论】: