Exponer un repositorio como IQueryable

Me gustaría exponer un repositorio como un tipo 'IQueryable'.

El repositorio utiliza Linq para NHibernate para comunicarse con la base de datos.

¿Alguien puede señalarme un ejemplo de implementación?

Por ejemplo, ¿cómo sería la implementación 'GetEnumerator ()' correspondiente en mi repositorio?

Editar:

¿Sería apropiado algo como esto?

public class MyTypeRepository : IEnumerable<MyType>
{        
    IEnumerator<MyType> IEnumerable<MyType>.GetEnumerator()
    {
        return Session.Linq<MyType>().GetEnumerator();
    }


    IEnumerator IEnumerable.GetEnumerator()
    {
        return ((IEnumerable<MyType>)this).GetEnumerator();
    }

}

Respuestas a la pregunta(4)

Su respuesta a la pregunta