title: Repository pattern on multiple data provider/ORM?
body: <p>Let just say I have the following data models:</p>
  
  <pre><code>public class Account
  {
     public string Username { get; set; }
     public string Password { get; set; }
  }
  
  public class Configuration
  {
     public string Key { get; set; }
     public string Value { get; set; }
  }
  </code></pre>
  
  <p>For now, each of them has their own repository for data access, and uses entity framework as its unit of work/DbContext. I'm planning to pull out the Configuration part out of the entity frame and use Redis or Memcached as its data access. I might even to switch the EF to NHibernate or no ORM at all, and I might switch the database to MongoDB or CouchDB.</p>
  
  <p>What is the good way to do this? To be ignorant of all those lower layer stuff in my business logic? What kind of pattern to use? Is it possible or is it just bad things to design for changes like this?</p>
  
  <p>Thanks :)</p>