How to get a list which contains at least all the values of another list? <p>I have the situation where a list must contains at least the values of another list. So imagine we have list A with values 1, 2, 3. This is the list with the required values.</p> <p>List B has the values 1, 5, 6, 7<br> List C has the values 1, 2, 3, 4, 7<br> List D has the values 2, 5, 6</p> <p>In this situation I only want List C, since this is the only list which contains the values 1, 2 end 3.</p> <p>I've tried this, but this doesn't work since it is always true:</p> <pre><code>query = from doc in query let tagIds = from t in doc.Tags select t.Id where parameters.TagIds.Except(tagIds).Count() &lt;= parameters.TagIds.Count() select doc; </code></pre> <p>And when using this:</p> <pre><code> query = from doc in query let tagIds = from t in doc.Tags select t.Id where !parameters.TagIds.Except(tagIds).Any&lt;int&gt;() select doc; </code></pre> <p>I only get the lists where the list matches exactly the 'required' list.</p> <p>My question is, how can I solve my situation in a Linq 2 SQL query?</p>