I think I'm a bit confused here. 

I have some repositories and services on my EF project. I want to be able to page any of my models with IQueryable. 

My repository contains a method that returns IQueryable: 

```
public IQueryable<TEntity> GetQuery()
{
    return EntitySet;
}

```

I also have a query object that I intend to use for reusable queries. It's something like this: 

```
public static class CarQuery 
{
    public static IQueryable<Car> RegisteredCars(this IQueryable<car> car, int userId)
    {
        return car.Where(r => r.RegisteredUser.UserId == userId);
    }

    public static IQueryable<car> WithStockAvailability(this IQueryable<car> car, bool isAvailable)
    {
        return car.Where(r => r.IsInStock == isAvailable);
    }
}

```

And I am making use of it in my service layer like so: 

```
public IEnumerable<Car> GetUserRegisteredCarsInStock(int userId, int? pageNumber, int? pageSize)
{
    var query = _repository.GetQuery(); 

    query = query.RegisteredCars(userId);
    query = query.WithStockAvailability(true);

    if (pageSize.HasValue && pageNumber.HasValue)
    {
        return .OrderByDescending(r => r.carId) // for some reason if I don't have the order, the query fails
                .Skip(pageNumber.Value * pageSize.Value)
                .Take(pageSize.Value);
    }

    return query.ToList();
}

```

But I don't think I am doing this right. Particularly this line: 

```
    query = query.RegisteredCars(userId);
    query = query.WithStockAvailability(true);

```

How do I make this look like this: 

```
    query.RegisteredCars(userId)
       .WithStockAvailability(true)
       .Page(pageNumber, pageSize);

```

Thanks