title: Caching until data changes in ASP.NET MVC & Entity Framework 4.1
body: <p>I currently use the repository pattern in my ASP.NET MVC 3 app.</p>
  
  <p>I use OutputCache to lessen the load on my database by decorating my controller methods with a data annotation similar to this:</p>
  
  <pre><code>[OutputCache(Duration = 3600, VaryByParam = "userName")]
  </code></pre>
  
  <p>Ultimately, what I'd like to achieve is a level of caching whereby the data is cached until it is updated (i.e. it changes).  I am using Entity Framework 4.1 for ORM.</p>
  
  <p>What would be the recommended way to approach this using my selected stack?</p>