title: linq select items from child collection
body: <p>Below are my classes. I have a product that contains list of days. Each day has a city property.</p>
  
  <p>I need to create a linq query that will give me the distinct cities that are used on all my products in the system.</p>
  
  <p>I tried something like this but it does not work:</p>
  
  <pre><code>var cities = from product in NHibernateSession.Linq&lt;Product&gt;() select new { city = product.Days.Where(d =&gt; d.City != null).Distinct() }; //This returns the day items but i need distinct cities
  
     public class Product : EntityBase
     {
          public virtual string Name { get; set; }
          public virtual IList&lt;ProductDayDefinition&gt; Days { get; set; }
     }
  
     public class ProductDayDefinition : EntityBase
     {
          public virtual Product Product { get; set; }
          public virtual City City { get; set; }
     }
  </code></pre>