title: Repository pattern: One repository class for each entity?
body: <p>Say you have the following entities defined in a LINQ class:</p>
  
  <pre><code>Product
  Customer
  Category
  </code></pre>
  
  <p>Should I have one repository class for all:</p>
  
  <pre><code>StoreRepository
  </code></pre>
  
  <p>... or should I have:</p>
  
  <pre><code>ProductRepository
  CustomerRepository
  CategoryRepository
  </code></pre>
  
  <p>What are the pro &amp; cons of each? In my case, I have several "applications" within my solution... the Store application is just one of them.</p>