title: Entity Framework DbContext load performance
body: <p>I have the following model classes and associated DbContext object.</p>
  
  <pre><code>public class PlayerModel
  {
      [Key]
      public string PlayerID { get; set; }
  
      [InverseProperty("Player")]
      public virtual ICollection&lt;SeasonStats&gt; SeasonStats { get; set; }
  
      //General
      public string FirstName { get; set; }
      public string LastName { get; set; }
      public int Height { get; set; }
      public int Weight { get; set; }
  
      public PlayerModel()
      {
          this.SeasonStats = new List&lt;SeasonStats&gt;();
      }
  
  }
  
  public class PlayerModelDBContext : DbContext
  {
      public virtual DbSet&lt;PlayerModel&gt; Players { get; set; }
  }
  </code></pre>
  
  <p>I am attempting to populate a View with the first 20 entries of about 7500 from the database.</p>
  
  <pre><code>public ViewResult Index()
      {
          return View(db.Players.Take(20));
      }
  </code></pre>
  
  <p>The request is timing out as I expect it is taking too long to populate the DbContext.  How can I configure the context to only fetch records from the DB when requested?</p>