title: How to determine which lifestyle to use in Simple Injector
body: <p>My application uses Entity Framework. Since I want my <code>DbContext</code> to be reused across a single request, I registered it as <code>Lifestyle.Scoped</code>, as shown below:</p>
  
  <pre><code>container.Register&lt;MyDbContext&gt;(Lifestyle.Scoped);
  </code></pre>
  
  <p>Other classes get this <code>MyDbContext</code> injected. As example, see the following repository:</p>
  
  <p>ApplicationsRepository is:</p>
  
  <pre><code>public class ApplicationsRepository : IApplicationsRepository
  {
      private readonly MyDbContext _dbContext;
  
      public ApplicationsRepository(MyDbContext dbContext)
      {
          _dbContext = dbContext;
      }
  
      public void Save()
      {
          _dbContext.Save();
      }
  
      public Application GetByName(string appName)
      {
          var dbApplication = _dbContext.APPLICATIONS.FirstOrDefault(a =&gt; a.NAME == appName);
  
          return ApplicationMapper.MapApplicationFromAPPLICATIONS(dbApplication);
      }
  }
  </code></pre>
  
  <p>But there are countless other classes that either take a dependency on <code>MyDbContext</code>. Other classes might not depend on <code>MyDbContext</code> directly, but do get injected with a class that does depend on <code>MyDbContext</code>.</p>
  
  <p>My questions is: what kind of lifestyle management should I use for these classes and how implements it?</p>