title: Traverse an object tree using LINQ
body: <p>A country has a list of states. A state has a list of cities. Find the state which has a city with the zip code 11201.</p>
  
  <p>How do I do this?</p>
  
  <p>When I do</p>
  
  <pre><code>Country.States.SelectMany(
                             s =&gt; s.Cities.Where(c =&gt; c.Zip ==11201)
                           )
                            .Select(s =&gt; s);
  </code></pre>
  
  <p>What I get is the city and not the state.</p>