title: LINQ - Where a list contains an element of another list
body: <p>I have two SQL tables: <code>Movies</code> and <code>Tags</code>, while <code>Movies</code> contains a <code>List&lt;Tag&gt;</code></p>
  
  <p>Now I want to find all movies that have at least one of the tags of a <code>List&lt;Tag&gt;</code> argument.  How can I do that in LINQ?</p>
  
  <pre><code>public IEnumerable&lt;Group&lt;Genre, Movie&gt;&gt; GetMoviesGrouped(string search, List&lt;Tag&gt; tags)
  {
      var movies = from movie in Movies
      where ( movie.Name.Contains(search)) &amp;&amp; movie.Tags.???contains any element of tags???
      group movie by movie.genre into g
      select new Group&lt;Genre, Movie&gt; { Key = g.Key, Values = g };
  ....
  }
  </code></pre>