title: LINQ to SQL: "Method 'Boolean Contains(System.String)' has no supported translation to SQL."
body: <p>I have a hashset of strings representing tmdbId's for movies I have on disk - called moviesOnDisk.</p>
  
  <p>I have a database of movie objects, indexed on the <code>tmdbId</code>.</p>
  
  <p>I want to delete the records that exist in the database but don't exist on disk.</p>
  
  <p>I have this line to get the difference:</p>
  
  <pre><code>var toDelete = Database.Movies.Where(x =&gt; !moviesOnDisk.Contains(x.TMDbId));
  </code></pre>
  
  <p>this gives me no results and the following message:</p>
  
  <blockquote>
    <p>Method 'Boolean Contains(System.String)' has no supported translation to SQL.</p>
  </blockquote>
  
  <p>Is there a work around for this? Obviously I can iterate over both lists, but I am going for best performance.</p>