Я пытаюсь добавить разбивку на страницы со смещением (ввод — это размер страницы и ограничение) для комбинированного результата, который объединяет несколько коллекций. Раньше у меня был только лимит на ответ. Ниже приведен код функции API
Я пытаюсь добавить разбивку на страницы со смещением (ввод — это размер страницы и ограничение) для комбинированного результата, который объединяет несколько коллекций. Раньше у меня был только лимит на ответ. Ниже приведен код функции API [code]private readonly IMongoCollection _sharedMongoCollection; private IMongoQueryable SharedDbQueryableCollection { get; } private readonly IMongoCollection _otherMongoCollection; private IMongoQueryable otherDbQueryableCollection { get; }
public async Task GetAllAsync(Context context, string filterCondition, uint? limit) { var sharedQuery = SharedDbQueryableCollection .ApplyContext(context, _scopeConditionEnforcement) .ApplyFilter(filterCondition, _scopeConditionEnforcement); var otherQuery = otherDbQueryableCollection .ApplyContext(context, _scopeConditionEnforcement) .ApplyFilter(filterCondition, _scopeConditionEnforcement);
var sharedResult = _mongoDbRepository.GetAllAsync(sharedQuery); var tenantResult = _mongoDbRepository.GetAllAsync(tenantQuery); var result = (await Task.WhenAll(sharedResult, tenantResult)) .SelectMany(t => t).ToList(); return limit.HasValue ? result.Take((int)limit.Value) : result; } [/code] Какой подход мне следует выбрать для смещения страниц.