Я использую Orchard Core CMS (1.0.0-rc2-13809) и SQL Server 2017. Я создаю модуль, в котором в контроллере пытаюсь создать пейджинг:
public async Task<IActionResult> Index(PagerParameters pagerParameters)
{
var siteSettings = await _siteService.GetSiteSettingsAsync();
var pager = new Pager(pagerParameters, siteSettings.PageSize);
var query = _session.Query<ContentItem, ContentItemIndex>();
query = query.With<ContentItemIndex>(x => x.ContentType == contentType);
query = query.With<ContentItemIndex>(x => x.Published);
query = query.OrderByDescending(x => x.PublishedUtc);
var maxPagedCount = siteSettings.MaxPagedCount;
if (maxPagedCount > 0 && pager.PageSize > maxPagedCount)
pager.PageSize = maxPagedCount;
var routeData = new RouteData();
var pagerShape = (await New.Pager(pager)).TotalItemCount(maxPagedCount > 0 ? maxPagedCount : await query.CountAsync()).RouteData(routeData);
var pageOfContentItems = await query.Skip(pager.GetStartIndex()).Take(pager.PageSize).ListAsync();
IEnumerable<ContentItem> model = await query.ListAsync();
var contentItemsSummaries = new List<dynamic>();
foreach (var contentItem in pageOfContentItems)
{
contentItemsSummaries.Add(await _contentItemDisplayManager.BuildDisplayAsync(contentItem, _updateModelAccessor.ModelUpdater, "Summary"));
}
var viewModel = new ListContentsViewModel
{
ContentItems = contentItemsSummaries,
Pager = pagerShape
};
return View(viewModel);
}
И в строке IEnumerable<ContentItem> model = await query.ListAsync();
, я получаю сообщение об ошибке:
Неправильный синтаксис рядом с 'OFFSET'. Недопустимое использование опции NEXT в операторе FETCH