Selecione itens por tag ao pesquisar várias tags

Estou lutando um pouco aqui, então pensei por que não perguntar:

Cada entidade do meu sistema possui uma lista de tags (uma lista de strings) e desejo poder procurar várias tags ao mesmo tempo.

Eu tenho um IQueryable para trabalhar. Toda entidade tem um IList chamado Tags e meu parâmetro de entrada é um IList.

Eu simplesmente poderia passar por todas as tags e fazer IQueryable.Where (p => p.Tags.Contains (currentTag), mas isso não seria muito bem dimensionado com muitas tags como entrada, e também tenho a sensação de que isso poderia ser feito dentro LinQ.

Espero que alguém tenha uma idéia.

Editar: Esclarecimento da pergunta: eu procuro uma maneira de selecionar apenas itens do meu IQueryable que contenham TODAS as tags de parâmetro fornecidas (de IList).

Saudações Daniel / Tigraine

questionAnswers(2)

yourAnswerToTheQuestion