If you have an User entity that has an Address entity as a property and you are using caching, then the User entity will get cached along with the Address. Then if you update the Address entity through the IRepository<Address, int> the User that is cached will still have the old Address when it is retrieved from cache.
See if there is a way to invalidate the User when the Address is updated. Not sure how at this point but it would be nice because it currently is one of the hardest parts of dealing with cached entities.
If you have an User entity that has an Address entity as a property and you are using caching, then the User entity will get cached along with the Address. Then if you update the Address entity through the IRepository<Address, int> the User that is cached will still have the old Address when it is retrieved from cache.
See if there is a way to invalidate the User when the Address is updated. Not sure how at this point but it would be nice because it currently is one of the hardest parts of dealing with cached entities.