title: How to refresh data in the Prism Framework
body: <p>I'm rewriting an app to be based on Prism. It was based on WAF, and it uses the Entity Framework to access data via the unit of work / repository pattern.</p>
  
  <p>I'm intending to use the event aggregator to inform my view models when a new unit of work is available (eg, after a save). They can then replace the model objects they are presenting with the new equivalents from the new unit of work.</p>
  
  <p>1.) Is this a reasonable idea? How else could I inform my view models that they are showing out of date information?</p>
  
  <p>I only want to have the view models that are visible re-query the database. ViewModels that are not currently shown can delay their refresh until they are shown (I'm planning to do this using the INavigationAware interface).</p>
  
  <p>2.) Again, is this a reasonable way to proceed? How can I distinguish between view models that are currently visible to the user, and those that are not?</p>
  
  <p>As an alternative solution to 2.), I'm considering creating views only as needed, and destroying them immediately when they are hidden. This would solve the "which view models are visible" question, but seems very expensive.</p>
  
  <p>3.) Is Prism intended to be used in this manner?</p>