It sounds like you're using a single
DbContext
instance across the entire application.
Once an entity has been loaded by a
DbContext
instance, it will be cached for the lifetime of that instance. Any attempt to read that entity from that instance will return the cached value, ignoring any changes in the database, unless you manually force a refresh via the change tracker.
Entity Framework Cache Busting | Codethug[
^]
For a web application, you should be using a new
DbContext
instance per request. How you do this will depend on which IoC container you're using.