title: DbContext AutoDetectChangesEnabled set to false detecting changes
body: <p>I'm a bit stumped. From what I've read setting the <code>DbContext.AutoDetectChangesEnabled</code> to <code>false</code> should disable change tracking requiring one to call <code>DbContext.DetectChanges</code> in order to identify changes to be sent to the database.</p>
  
  <p>However, it is clear from my logs below that the changes are being registered by dbContexts change tracker, even with the setting set to false.</p>
  
  <p>Am I missing something? </p>
  
  <p>Entity Framework Version: 5.0.0.0</p>
  
  <p>DbContext class</p>
  
  <pre><code>public class ProjectContext : DbContext {
      public DbSet&lt;Project&gt; Projects {get;set;}
  }
  </code></pre>
  
  <p>Controller class </p>
  
  <pre><code>private ProjectContext db = new ProjectContext();
  
  public method(){
      Project p = new Project("uniqueName");
      db.Configuration.AutoDetectChangesEnabled = false;
      db.Projects.Add(p);
      DebugChangeTracker();
      db.SaveChanges();
  
      db.Projects.First().ProjectName = "a differentName!";
      DebugChangeTracker();
      db.SaveChanges();
  }
  </code></pre>
  
  <p>Logging method</p>
  
  <pre><code>    private void DebugChangeTracker()
      {
          var path = "C:\\mypath\\";
          path = path + Util.GetMsSinceEpoch().ToString() + "changeTracker.log";
  
          using (StreamWriter sw = new StreamWriter(path))
          {
              var changeTracker = db.ChangeTracker;
              var entries = changeTracker.Entries();
              foreach (var x in entries)
              {
  
                  var name = x.Entity.ToString();
                  var state = x.State;
  
                  sw.WriteLine("");
                  sw.WriteLine("***Entity Name: " + name +
                               "is in a state of " + state);
                  var currentValues = x.CurrentValues;
                  sw.WriteLine("***CurrentValues***");
                  PrintPropertyValues(currentValues,sw);
                  if (state != EntityState.Added)
                  {
                      sw.WriteLine("***Original Values***");
                      PrintPropertyValues(x.OriginalValues,sw);
                  }
              }
          }
      }
  </code></pre>
  
  <p>First log</p>
  
  <pre><code>***Entity Name: Models.Projectis in a state of Added
  ***CurrentValues***
  ProjectId:0
  ProjectName:uniqueName
  </code></pre>
  
  <p>Second Log</p>
  
  <pre><code>***Entity Name: Models.Projectis in a state of Modified
  ***CurrentValues***
  ProjectId:1
  ProjectName:uniqueName
  ***Original Values***
  ProjectId:1
  ProjectName:a differentName!
  </code></pre>