As I know Entity Framework implements the Identity Map Pattern, so EF caches some entities in the memory.
Let I give you example.
var context = new StudentContext();
var student = context.Students.Where(st => st.Id == 34).FirstOrDefault();
// any way of changing student in DB
var anotherContext = new StudentContext();
var anotherStudent = anotherContext.Students.Where(st => st.Id == 34).FirstOrDefault();
anotherStudent.Name = "John Smith";
anotherContext.SaveChanges();
student = context.Students.Where(st => st.Id == 34).FirstOrDefault();
// student.Name contains old value
Is there a way to invalidate first context's cache and retrieve new student
entity without recreating context?
Thanks for help.