title: EF6 not tracking changes on entities when using FindAsync
body: <p>I'm using EF6, with a Repository pattern (a repository has its own context instance). When I use <code>FindAsync</code> to obtain and modify an entity, the changes are not tracked, and so any properties that are edited are not saved upon <code>SaveChanges</code>. However, I also expose the table through the repository via <code>IQueryable</code>, and if I obtain an entity that way, all changes are saved properly. I'm trying to figure out why changes are not tracked when I use the FindAsync method.</p>
  
  <p>My Find repo method:</p>
  
  <pre><code>public async Task&lt;CDCRoute&gt; FindDrivingRouteAsync(long routeId, string userId)
          {
              var route = await routeContext.Routes.FindAsync(routeId);
              if (route != null &amp;&amp; route.CDCUserInfoId == userId)
              {
                  return route;
              }
  
              return null;
          }
  </code></pre>
  
  <p>Table exposed with IQueryable:</p>
  
  <pre><code>public IQueryable&lt;CDCRoute&gt; Routes
          {
              get { return routeContext.Routes; }
          }
  </code></pre>
  
  <p>Accessing a route via Find (does not save changes when modified):</p>
  
  <pre><code>routeRepo.FindDrivingRouteAsync(message.RouteId, message.UserId);
  </code></pre>
  
  <p>Accessing a route via the exposed IQueryable (does save changes when modified):</p>
  
  <pre><code>routeRepo.Routes.FirstOrDefault(r =&gt; r.RouteId == message.RouteId &amp;&amp; r.CDCUserInfoId == message.UserId);
  </code></pre>
  
  <p>I'm sure I am missing something (am somewhat new to EF), so any help would be greatly appreciated, thanks!</p>