linq wybierz elementy z kolekcji dziecięcej

Poniżej są moje zajęcia. Mam produkt zawierający listę dni. Każdy dzień ma własność miasta.

Muszę utworzyć zapytanie linq, które da mi różne miasta, które są używane we wszystkich moich produktach w systemie.

Próbowałem czegoś takiego, ale to nie działa:

var cities = from product in NHibernateSession.Linq<Product>() select new { city = product.Days.Where(d => 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<ProductDayDefinition> Days { get; set; }
   }

   public class ProductDayDefinition : EntityBase
   {
        public virtual Product Product { get; set; }
        public virtual City City { get; set; }
   }

questionAnswers(1)

yourAnswerToTheQuestion