با فرض اینکه چنین مدلی داریم:

public class Consultant

{

    public int Id { get; set; }

    public string Name { get; set; }

 

    public virtual ICollection<ConsultationType> ConsultationTypes { get; set; }

}

حالا اگر بخواهیم Consultant هایی را از یک لیست  Consultant انتخاب کنیم که  ConsultationTypes  دارای شرط باشه به دو طریق می تونیم عمل کنیم:

روش اول:

consultants = from c in consultants
              from t in c.ConsultationTypes
              where t.Name==text
              select c;

و روش دوم:

consultants = consultants.Where(c => c.ConsultationTypes.Any(t => t.Name == text));

برای googling می شه از این عبارت استفاده کرد و خودش هم لینک داره به یه سوال تو stackoverflow که به مطلب بالا خیلی مربوطه:

querying nested collections