title: EnableQueryAttribute with PageSize messes up pre-sorted list
body: <p>When I set the <code>[EnableQuery]</code> attribute on a <code>ApiController</code> method in <code>WebAPI 2.2</code> it seems to break the ordering of response.</p>
  
  <pre><code>[ResponseType(typeof(IEnumerable&lt;Project&gt;))]
  [Route("api/user/{userId}/project")]
  [EnableQuery(PageSize = 100)]
  public async Task&lt;HttpResponseMessage&gt; GetForUser(string userId)
  {
      // This gets all projects for the user, and sorts by the last access date
      IEnumerable&lt;Project&gt; projects = await this.projectOperations.GetProjectsForUser(userId);
  
      return this.Request.CreateResponse(HttpStatusCode.OK, projects);
  }
  </code></pre>
  
  <p>I'm calling it without any OData query parameters, and the resulting project list is <strong>89</strong> items, so in my mind it should not process the array at all.</p>
  
  <p>I've verified that it is in fact the <code>EnableQueryAttribute</code> that does this by creating a new class deriving from <code>EnableQueryAttribute</code>:</p>
  
  <pre><code>public class TestEnableQueryAttribute : EnableQueryAttribute
  {
      public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
      {
          // Here the response content is 
          // ObjectContent&lt;IEnumerable&lt;Project&gt;&gt;
  
          base.OnActionExecuted(actionExecutedContext);
  
          // Afterwards the response content is 
          // ObjectContent&lt;System.Web.Http.OData.Query.TruncatedCollection&lt;Project&gt;&gt;
      }
  }
  </code></pre>
  
  <p>The weird thing is that it seems to sort it by the <code>Id</code> property of the <code>Project</code> class. Is this some kind of undocumented convention?</p>
  
  <p>Anyone know how to stop it from messing with my sorting?<br>
  I want to have paging, but unless i actually specify a <code>$orderby</code> query parameter it shouldn't do any ordering on its own.</p>