title: Entity Framework Queryable async
body: <p>I'm working on some some Web API stuff using Entity Framework 6 and one of my controller methods is a "Get All" that expects to receive the contents of a table from my database as <code>IQueryable&lt;Entity&gt;</code>. In my repository I'm wondering if there is any advantageous reason to do this asynchronously as I'm new to using EF with async.</p>
  
  <p>Basically it boils down to</p>
  
  <pre><code> public async Task&lt;IQueryable&lt;URL&gt;&gt; GetAllUrlsAsync()
   {
      var urls = await context.Urls.ToListAsync();
      return urls.AsQueryable();
   }
  </code></pre>
  
  <p>vs</p>
  
  <pre><code> public IQueryable&lt;URL&gt; GetAllUrls()
   {
      return context.Urls.AsQueryable();
   }
  </code></pre>
  
  <p>Will the async version actually yield performance benefits here or am I incurring unnecessary overhead by projecting to a List first (using async mind you) and THEN going to IQueryable?</p>