karthikchinnu Ответов: 1

Asp.net разбивка ядра MVC на страницы с использованием reflectionit.mvc.paging;


Я пытаюсь сделать разбиение на страницы с помощью asp.net ядро mvc 1.2 .
Я перешел по ссылке ниже
"https://www.reflectionit.nl/blog/2017/paging-in-asp-net-core-mvc-and-entityframework-core"

IQueryable & lt;searchdata> qry = objReturnDoc.GetViewLogger(поиск).AsQueryable();

var result = await PagingList<searchdata>.CreateAsync(qry, 3, 1, null, null);
Вышеприведенная строка бросает следующую ошибку
An unhandled exception occurred while processing the request.

InvalidOperationException: The provider for the source IQueryable doesn't implement IAsyncQueryProvider. Only providers that implement IEntityQueryProvider can be used for Entity Framework asynchronous operations.

I agree , am not using Entity framework.  am using list..How to to fix it? Thanks in advance


Что я уже пробовал:

общих асинхронных задачу<iactionresult&ГТ; ViewLog(строка claimNum,Аткрывают строка,строка, начальная дата,конечная дата строка,инт странице)
{
SearchData search = новые поисковые данные();

search.claimNum = claimNum;
if (startDate != null)
поиск.Начальная дата = начальная дата;

если (конечная дата != нуль)
поиск.Дата окончания = дата окончания;
search.claimNum = " 8848948488";
поиск.rqID = Аткрывают;
ReturnDocRepository objReturnDoc = new ReturnDocRepository ("mongodb: / / 10.66.60.192:27017");
IQueryable & lt;searchdata> qry = objReturnDoc.GetViewLogger(поиск).AsQueryable ().
// я получаю ошибку на нижней строке
var result = await PagingList<searchdata>.CreateAsync(qry, 3, 1, null, null);
InvalidOperationException: The provider for the source IQueryable doesn't implement IAsyncQueryProvider. Only providers that implement IEntityQueryProvider can be used for Entity Framework asynchronous operations.

return View(результат);

}

1 Ответов

Рейтинг:
0

Richard Deeming

Источник данных, который вы используете, не поддерживает async запросов, и, к сожалению, нет синхронной перегрузки Create метод:
ReflectionIT.В MVC.Подкачки/PagingList.КС мастер · sonnemaf/ReflectionIT.В MVC.Подкачки · На GitHub[^]

Конструктор-это private, так что вы также не можете создать свою собственную версию.

Вам нужно будет либо раскошелиться на репозиторий и добавить метод самостоятельно, либо зарегистрируйте проблему на GitHub[^] попросить автора добавить его для вас.

Новые методы будут выглядеть примерно так:

public static PagingList<T> Create(IOrderedQueryable<T> qry, int pageSize, int pageIndex) {
    var pageCount = (int)Math.Ceiling(qry.Count() / (double)pageSize);

    return new PagingList<T>(qry.Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList(),
                             pageSize, pageIndex, pageCount);
}

public static PagingList<T> Create(IQueryable<T> qry, int pageSize, int pageIndex, string sortExpression, string defaultSortExpression) {
    var pageCount = (int)Math.Ceiling(qry.Count() / (double)pageSize);

    return new PagingList<T>(qry.OrderBy(sortExpression).Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList(),
                             pageSize, pageIndex, pageCount, sortExpression, defaultSortExpression);
}