فیلتر کردن Collection های تو در تو در LINQ
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 که به مطلب بالا خیلی مربوطه: