Просто мысль (напрямую не связанная с вопросом, но может помочь другим зрителям):
Я получал то же сообщение об ошибке, что и вы, хотя я правильно использовал метод Contains (), и мне потребовалось довольно много времени, чтобы понять, что корень моей проблемы - возвращать IEnumerable к чему-то, что нужно далее отфильтровать результаты запроса L2S. Как только я изменил тип возвращаемого значения функции на IQueryable, проблема исчезла. Это имеет смысл, видя, что IEnumerable не может быть далее отфильтрован, но IQueryable может.