Ошибка сервера из-за проблемы с подкачкой
-
05-07-2019 - |
Вопрос
Я думаю, что я разобрался со своим событием GridView1_PageIndexChanged и подумал, что оно должно сработать
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.DataSourceID = "lqPackWeights";
GridView1.PageIndex = e.NewPageIndex;
}
Однако, когда я сейчас пытаюсь получить доступ к странице 2 x, я получаю следующее:
Ошибка сервера в приложении "/project".Этот поставщик поддерживает Skip() только для упорядоченных запросов, возвращающих сущности или проекции, которые содержат все столбцы идентификаторов, где запрос представляет собой запрос с одной таблицей (без объединения) или является отдельной операцией Except, Intersect или Union (не Concat).
Я немного сбит с толку этим, я не использую skip, насколько я могу видеть, если только я не ослепну?
В настоящее время я использую SQL2000, связана ли эта проблема непосредственно с этим экземпляром SQL?
Решение
Используете ли вы LINQ для SQL?Проблема, по-видимому, уникальна для SQL Server 2000.Смотрите эти статьи MSDN по Устранение неполадок (LINQ to SQL) и Стандартная трансляция оператора запроса (LINQ в SQL) для получения дополнительной информации.
Редактировать
Аналогичный вопрос задавался ранее, см.: LINQ, Skip, OrderBy и SQL Server 2000
Другие советы
Элемент управления использует Пропустить, чтобы перейти к записям для конкретной страницы, которую он должен отображать.
В SQL Server порядок запросов по умолчанию отсутствует (если только это не прямая таблица с кластеризованным индексом), поэтому вы должны указать порядок в запросе для источника данных. Результат запроса должен иметь определенный порядок; не имеет смысла пролистывать результаты, если упорядочение меняется от страницы к странице, так что вы получаете более или менее случайный выбор записей из результата для каждой страницы.
В настоящее время мой запрос linq упорядочен ... Я думаю, что это не путь вперед или я вас неправильно понимаю?
закрытый объект GetMaterialData (строка MemberKey, строка MaterialType, строка MaterialLevel, int Count) { ORWeightsDataClassesDataContext db = newORWeightsDataClassesDataContext (); var query = db.tblOnlineReportingCOMPLETEWeights .Where (x = > x.MaterialLevel == MaterialLevel & amp; & amp; x.MaterialText == MaterialType & amp; & amp; x.MemberId == MemberKey) .OrderByDescending (x = & xt; x.ProductPercentage) .Take (Count); обратный запрос; } Р>