If you have ever used a cache for your web applications, you probably know about CacheDependency. If not, then don't worry. It's just a class that allows you to track changes in a source whose data you cache. Strictly speaking, tracking logic is implemented by derived classes. For example, for MS SQL Server it's SqlCacheDependency class. This concept has one serious problem. That is breaking of an abstraction level created by an ORM. Let's discuss it in this post.