Я хочу запросить 1 миллион строк с помощью структуры сущностей, а затем разбить их на страницы. Я использую библиотеку pagedlist.mvc, и это не проблема для первой страницы, потому что я использовал .ToPagedList(pageNumber, pageSize)
в своем коде, и нет необходимости загружать все мои данные.
var allrows = db.works.Where(x => x.Status == 100).OrderByDescending(x => x.ID_Work).ToPagedList(pageNumber, pageSize);
но когда я добавляю действие фильтрации и подкачки, сначала я должен загрузить все строки, а затем отфильтровать их и после этого использовать .ToPagedList(pageNumber, pageSize)
.
var allrows = db.works.Where(x => x.Status == 100);
if(!String.IsNullOrEmpty(Code_Work))
{
allrows= allrows.Where(x => x.Code_Work.Contains(Code_Work));
ViewBag.CurrentCode_Work = Code_Work;
}
var pagedrows = allrows.OrderByDescending(x => x.ID_Work).ToPagedList(pageNumber, pageSize);
Как я могу справиться с этим вызовом. Я думаю, что это может быть проблемой и снизить производительность. Я не хочу загружать все свои строки.