title: Get unknown amount of parents using LINQ to SQL
body: <p>Given the following:</p>
  
  <pre><code>public class Person
  {
    public int  PersonId { get; set; }
    public int? ParentId { get; set; }
  }
  </code></pre>
  
  <p>Suppose I have the following tree structure (PersonID - ParentID):</p>
  
  <pre><code>1 - null
    2 - 1
      3 - 2
    4 - 1
  </code></pre>
  
  <p>How can I get all the parents of PersonId <code>3</code>, or <code>2,1</code> using a LINQ to SQL query?</p>
  
  <p><em>Note:  A <code>null</code> ParentId denotes a top-level Person</em></p>