title: LINQ results matching ALL relationships
body: <p>I have a many to many relationship as follows:</p>
  
  <p><strong>Products Table:</strong> </p>
  
  <pre><code>ProductID 
  Description
  </code></pre>
  
  <p><strong>ProductFeatures Table:</strong>  </p>
  
  <pre><code>FeatureID 
  ProductID 
  FeatureValue
  </code></pre>
  
  <p>Any Product can have many Features.
  I have a  Feature class</p>
  
  <pre><code>public class Feature
  {
      public Guid FeatureID { get; set; }
      public string FeatureValue { get; set; }
  }
  </code></pre>
  
  <p>And a list of Features  that come from a search</p>
  
  <pre><code>List&lt;Feature&gt; searchFeaturesList = new List&lt;Feature&gt;();
  
  foreach (string var in Request.QueryString)
  {
      searchFeaturesList.Add(new Feature { FeatureID = new Guid(var.ToString()),   FeatureValue = Request.QueryString[var] });
  }
  </code></pre>
  
  <p>How can I get a list of all products that match ALL the feature IDs AND feature Values on the list using LINQ to SQL. 
  I tried using Contains but I get a result of all the products that match ANY of the features. I need it to match ALL the features.
  Please note that each FeatureID can have different FeatureValue
  Thank you</p>