¿Es posible convertir IQueryable <Derived> a IQueryable <Base>?

Sé de covarianza y sé que, en general, no será posible en C # hasta v4.0.

Sin embargo, me estoy preguntando acerca de un caso específico. ¿Hay alguna manera de conseguir la conversiónIQueryable<Derived> aIQueryable<Base> Al crear de alguna manera una clase contenedora que en realidad no realiza una consulta, pero en realidad puede "pasar a través de" una.Where<>() ¿llamada?

Mi caso de uso es que estoy tratando de lidiar con un esquema de base de datos que tiene muchas tablas similares. La mayoría de los campos están en común, y muchos de los campos comunes deben consultarse en cada tabla. Estoy usando LinqToSql. Esperaba evitar duplicar todas las consultas para cada tabla.

Respuestas a la pregunta(2)

Su respuesta a la pregunta