У меня есть gridview, который я хочу сортировать. Я написал для него следующий метод:Сортировка Gridview с платформой Entity, не работающей по назначению
private void SortGridView(string sortExpression, string direction)
{
var constr = new AdminRequirementEF();
string sort = string.Concat("it.", sortExpression, " ", direction);
int pageSize = Convert.ToInt32(ddPageSize.SelectedItem.Text);
var results = constr.Projects;
int totalRecords = results.Count();
this.PopulatePager(totalRecords, pageIndex);
var sortedResults = constr.Projects.OrderBy(sort).Skip((pageIndex - 1) * pageSize).Take(pageNum).ToList();
grdMain.DataSource = sortedResults;
grdMain.DataBind();
}
Проблема заключается в том, что сортировка применяется на тотальных данных не на страницах, отфильтрованных записей. Я хочу использовать OrderBy (sort) после применения skip и take, но это дает мне ошибку, заявив, что skip нельзя применить перед предложением orderby. Любая помощь будет высоко ценится.
Какая версия EF это? Это должно сработать. Как выглядит сгенерированный SQL? –