/// <summary>
 /// 转换为可分页集合(注:需要对查询接口进行排序操作,否则 LINQ 会抛出未排序异常)。
 /// </summary>
 /// <typeparam name="TEntity">指定的实体类型。</typeparam>
 /// <param name="orderedQuery">给定的 <see cref="IOrderedQueryable{TEntity}"/>。</param>
 /// <param name="skip">给定的跳过条数。</param>
 /// <param name="take">给定的获取条数。</param>
 /// <param name="cancellationToken">给定的 <see cref="CancellationToken"/>。</param>
 /// <returns>返回一个包含 <see cref="IPageable{TEntity}"/> 的异步操作。</returns>
 public static ValueTask <IPageable <TEntity> > AsPagingBySkipAsync <TEntity>(this IOrderedQueryable <TEntity> orderedQuery,
                                                                              int skip, int take, CancellationToken cancellationToken = default)
     where TEntity : class
 => orderedQuery.AsPagingAsync(paging => paging.ComputeBySkip(skip, take), cancellationToken);
 /// <summary>
 /// 转换为可分页集合(注:需要对查询接口进行排序操作,否则 LINQ 会抛出未排序异常)。
 /// </summary>
 /// <typeparam name="TEntity">指定的实体类型。</typeparam>
 /// <param name="orderedQuery">给定的 <see cref="IOrderedQueryable{TEntity}"/>。</param>
 /// <param name="index">给定的页索引。</param>
 /// <param name="size">给定的页大小。</param>
 /// <param name="cancellationToken">给定的 <see cref="CancellationToken"/>。</param>
 /// <returns>返回一个包含 <see cref="IPageable{TEntity}"/> 的异步操作。</returns>
 public static ValueTask <IPageable <TEntity> > AsPagingByIndexAsync <TEntity>(this IOrderedQueryable <TEntity> orderedQuery,
                                                                               int index, int size, CancellationToken cancellationToken = default)
     where TEntity : class
 => orderedQuery.AsPagingAsync(paging => paging.ComputeByIndex(index, size), cancellationToken);