我有一个Linq(实体框架)查询
function getData(string col_to_sort , bool IsAscending , int pageNo , int pageSize)
{
context.table_name.Skip(pageNo*pageSize).Take(pageSize).ToArray();
}
我想要的是,如果我将列的名称作为参数传递给函数 以及它将对我的查询进行排序的顺序。
由于我的列名将是一个字符串,因此我们可能需要将其转换为ObjectQuery。
我怎样才能做到这一点?
感谢任何帮助
答案 0 :(得分:6)
您可以使用Dynamic Linq:
string direction = IsAscending ? " ASC" : " DESC";
context.table_name.OrderBy(col_to_sort + direction).Skip(pageNo*pageSize).Take(pageSize).ToArray();