title: How do I eagerly Include the child and grandchild elements of an entity in Entity Framework Code First?
body: <p>Imagine three entities (Customer, Book, Author) related like this:</p>
  
  <p>A Customer has many Books</p>
  
  <p>A Book has one Author</p>
  
  <p>I use that data to print a report like this:</p>
  
  <pre><code>Customer: Peter
    Book: To Kill a Mockingbird - Author: Harper Lee
    Book: A Tale of Two Cities - Author: Charles Dickens
  Customer: Melanie
    Book: The Hobbit - Author: J. R. R. Tolkien
  </code></pre>
  
  <p>When I query for Customers I get, as expected, a bunch of queries of the following nature</p>
  
  <ol>
  <li>A query to get the Customers</li>
  <li>A query per Customer to get his Books</li>
  <li>A query per Book to get its author</li>
  </ol>
  
  <p>I can reduce the number of queries by including the books like so:</p>
  
  <p>var customers = db.Customers.Include(c => c.Books);</p>
  
  <p>But I don't know how to load the third level (Author). How can I do that?</p>