title: EntityFramework Core does not return fresh data
body: <p>Using EntityFramework Core I have this code:</p>
  
  <pre><code>var theStudent = new Student();
  theStudent.Title = "Mehran"
  theStudent.Status = 1
  mainDbContext.Set&lt;Student&gt;().Add(theStudent);
  await mainDbContext.SaveChangesAsync();
  
  // In reality data is changed by another program. To simulate it here I alter the data by another dbcontext and raw SQL
  using (var utilDbContext = new MelkRadarDbContext())
  {
      var command = " update dbo.Student set status=2 where Id=@p0";
      utilDbContext.Database.ExecuteSqlCommand(command, theStudent.Id);
  }
  
  var reloadedStudent = await mainDbContext.Set&lt;Student&gt;()
      .Where(s =&gt; s.Id == theStudent.Id)
      .FirstOrDefaultAsync();
  
   Assert.AreNotEqual(reloadedStudent, student);
   Assert.AreEqual(reloadedStudent.Status, 2);
  </code></pre>
  
  <p>Both of assertions are failed. It seems on the second call, <code>mainDbContext</code> still returns the old <code>theStudent</code> object as <code>reloadedStudent</code>, and doesn't load it from the database to get the fresh data. Why is that so? What should I do to get the fresh data on the database?</p>