title: How does Entity Framework work with recursive hierarchies? Include() seems not to work with it
body: <p>I have an <code>Item</code>. <code>Item</code> has a <code>Category</code>.</p>
  
  <p><code>Category</code> has <code>ID</code>, <code>Name</code>, <strong><code>Parent</code></strong> and <strong><code>Children</code></strong>. <code>Parent</code> and <code>Children</code> are of <code>Category</code> too.</p>
  
  <p>When I do a LINQ to Entities query for a specific <code>Item</code>, it doesn't return the related <code>Category</code>, unless I use the <code>Include("Category")</code> method. But it doesn't bring the full category, with its parent and children. I could do <code>Include("Category.Parent")</code>, but this object is something like a tree, I have a recursive hierarchy and I don't know where it ends.</p>
  
  <p>How can I make EF fully load the <code>Category</code>, with parent and children, and the parent with their parent and children, and so on?</p>
  
  <p>This is not something for the whole application, for performance considerations it would be needed only for this specific entity, the Category.</p>