title: How do you construct a LINQ to Entities query to load child objects directly, instead of calling a Reference property or Load()
body: <p>I'm new to using LINQ to Entities (or Entity Framework whatever they're calling it) and I'm writing a lot of code like this:</p>
  
  <pre><code>var item = (from InventoryItem item in db.Inventory
              where item.ID == id
              select item).First&lt;InventoryItem&gt;();
  </code></pre>
  
  <p>and then calling methods on that object like this:</p>
  
  <pre><code>var type = item.ItemTypeReference;
  </code></pre>
  
  <p>or</p>
  
  <pre><code>var orders = item.OrderLineItems.Load();
  </code></pre>
  
  <p>to retrieve child or related objects.</p>
  
  <p>I haven't profiled the DB or dug too deeply but my guess is that when I call a .Load() or a *Reference property I'm actually making another call to the DB.  If this is the case, is there any way to get those objects in my initial LINQ expression?</p>