title: Where did the overload of DbQuery.Include() go that takes a lambda?
body: <p>I just declared some code-first models for a new project that uses EntityFramework.</p>
  
  <pre><code>public class BlogEntry
  {
      public long Id { get; set; }
      public long AuthorId { get; set; }
      public DateTime PublishedStamp { get; set; }
      public string Title { get; set; }
      public string Text { get; set; }
  
      public virtual User Author { get; set; }
  }
  
  public class User
  {
      public long Id { get; set; }
      public string Email { get; set; }
      // ...
  }
  
  class BlogDb : DbContext
  {
      public DbSet&lt;BlogEntry&gt; Entries { get; set; }
      public DbSet&lt;User&gt; Users { get; set; }
  }
  </code></pre>
  
  <p>Now suppose I want to retrieve the 10 most recent blog entries:</p>
  
  <pre><code>var entries = new BlogDb().Entries.OrderByDescending(...).Take(10).ToList();
  </code></pre>
  
  <p>The problem now is that accessing <code>entry.Author</code> will cause another database query. You wouldn’t want a separate such query for every blog entry. Now, it is my understanding that the purpose of <code>Include</code> is exactly this case, so I can say:</p>
  
  <pre><code>var entries = new BlogDb().Entries.Include(e =&gt; e.Author).(...).ToList();
  </code></pre>
  
  <p>However, that method doesn’t seem to exist. There is only an <code>Include(string)</code>, like this:</p>
  
  <pre><code>var entries = new BlogDb().Entries.Include("Author").(...).ToList();
  </code></pre>
  
  <p>but this is annoying because it’s not compile-time checked and will be missed by the rename refactoring. Surely the version with the lambda is the “correct” approach.</p>
  
  <p>Where did that method go? Is it no longer included in EntityFramework?</p>
  
  <p>(I know that I can write an extension method for myself to achieve this, so you don’t have to. I’d just like to know whether I’m missing something.)</p>