title: Recursive LINQ query: select item and all children with subchildren
body: <p>Is there any way to write a LINQ (or procedural style) query, that can select an item and all children with one query?
  I have entity:</p>
  
  <pre><code>public class Comment
  {
     public int Id {get;set;}
     public int ParentId {get;set;}
     public int Text {get;set;}
  }
  </code></pre>
  
  <p>I have an ID, so I want to select Comment with ID and all its children with subchildren.
  Example:</p>
  
  <pre><code>1
  -2
  --3
  -4
  -5
  --6
  2
  3
  </code></pre>
  
  <p>If ID == 1 then I want list of 1,2,3,4,5,6.</p>