Possível converter IQueryable <Derived> para IQueryable <Base>?

Eu sei sobre covariância, e sei que, em geral, não será possível em c # até v4.0.

No entanto, estou me perguntando sobre um caso específico. Existe alguma maneira de conseguir converterIQueryable<Derived> paraIQueryable<Base> de alguma forma, criando uma classe wrapper que realmente não executa uma consulta, mas pode realmente "passar por" uma.Where<>() ligar?

Meu caso de uso é que estou tentando lidar com um esquema de banco de dados que possui muitas tabelas semelhantes. A maioria dos campos é comum e muitos dos campos comuns precisam ser consultados em cada tabela. Estou usando o LinqToSql. Eu estava esperando para evitar a duplicação de todas as consultas para cada tabela.

questionAnswers(2)

yourAnswerToTheQuestion