title: Lambda or LINQ for Complex Filter?
body: <p>I have a need to filter a large collection of objects (in memory) to select only those which meet ALL of the selected categories.</p>
  
  <p>This is essentially the SQL query I'm looking to replicate, but I've been unable to come up with a good C# alternative:</p>
  
  <pre><code>select distinct o.ObjectId
  from Object o
  join ObjectCategories oc on oc.ObjectId = o.ObjectId
  where oc.CategoryId in (1)
  and oc.CategoryId in (2)
  and oc.CategoryId in (3)
  ... and so on...
  </code></pre>
  
  <p>...where 1, 2, and 3 represent the values in an indeterminate number of user-selected categories.</p>