title: EF eagerly load filtered child objects / filter only childs
body: <p>my EF Poco classes structure as below and what I try to achieve is to get all CategoryProducts Including Products and ProductName but only ProductNames having languageid=1</p>
  
  <p>I dont want to filter Root objects. I need not all productnames are loaded but only productname with languageid=1 </p>
  
  <p>I dont know how to achieve this. for example, I tried query below</p>
  
  <pre><code>var products =  db.CategoryProduct.Include("Product.ProductName").
  Where(p=&gt;p.Product.ProductName.Any(a=&gt;a.LanguageId==1)).ToList();
  </code></pre>
  
  <p>But this one filters all categoryProducts which have ProductName with languageid=1. this is not what I want because all products have names in 5 different languages. I just dont want to load eagerly for each product 5 times but only 1 time for languageid=1</p>
  
  <pre><code>public partial class CategoryProduct
  {
      [Key]    
    public int ProductId { get; set; }
   public virtual Product Product { get; set; }
  
  }
  
  public partial class Product
  {
  
          public virtual ICollection&lt;ProductName&gt; ProductName { get; set; }
  
  }
  
  public partial class ProductName
  {
       public int ProductId { get; set; }
       public int LanguageId { get; set; }
       public string Name { get; set; }
  
      public virtual Product Product { get; set; }
  }
  </code></pre>