Linq在列名称为动态时排序,并作为字符串传递给函数

时间:2011-12-06 10:34:11

标签: linq entity-framework

我有一个Linq(实体框架)查询

function getData(string col_to_sort , bool IsAscending , int pageNo , int pageSize)
{
  context.table_name.Skip(pageNo*pageSize).Take(pageSize).ToArray();
}

我想要的是,如果我将列的名称作为参数传递给函数 以及它将对我的查询进行排序的顺序。

由于我的列名将是一个字符串,因此我们可能需要将其转换为ObjectQuery。

我怎样才能做到这一点?

感谢任何帮助

1 个答案:

答案 0 :(得分:6)

您可以使用Dynamic Linq

string direction = IsAscending ? " ASC" : " DESC";
context.table_name.OrderBy(col_to_sort + direction).Skip(pageNo*pageSize).Take(pageSize).ToArray();