Linq Порядок, когда имя столбца является динамическим и передается функции в виде строки - PullRequest
5 голосов
/ 06 декабря 2011

У меня есть запрос Linq (Entity Framework) как

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

Что я хочу, так это то, что если я передам имя столбца в качестве параметра функции и порядок, он также будет сортировать мой запрос.

Поскольку имя моего столбца будет строкой, поэтому нам, возможно, потребуется преобразовать его в ObjectQuery.

Как я могу этого достичь?

Любая помощь приветствуется

1 Ответ

6 голосов
/ 06 декабря 2011

Вы можете использовать Dynamic Linq :

string direction = IsAscending ? " ASC" : " DESC";
context.table_name.OrderBy(col_to_sort + direction).Skip(pageNo*pageSize).Take(pageSize).ToArray();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...