У нас есть вид сетки DX, отображаемый в специально разработанном виде.Мы передаем предопределенный объект ViewModel, значения которого заполняются из запроса Linq-2-Entities.Проблема в том, что в нашей функции обратного вызова запрос L2E фактически выполняется на БД до того, как сетка DevExpress выполнит фильтрацию, сортировку и разбиение по страницам.IE .: (упрощенный пример, в реальной ситуации мы выбираем данные из нескольких таблиц, но все еще в одном запросе linq)
public ActionResult GridViewPartial(string myParameters)
{
var modelData = from s in db.myTable
select new { modelName = s.Name };
return PartialView("GridViewPartial", modelData);
}
В этой ситуации запрос фактически выполняется до того, как данные были переданы вПосмотреть.Поэтому он фактически выбирает слишком много данных из БД, в то время как в виде сетки отображается только выбранная страница.
Как бы нам пришлось изменить запрос, чтобы он выбирал только данные страницы, которую выбрал пользователь?IE.пропустить 10 строк и взять 10 в запросе L2E, когда пользователь выбирает страницу 2, вместо выбора 100000 строк (если их так много в таблице) и затем применяет фильтрацию / сортировку / разбиение по страницам, как в описанной ситуации?