Como faço para armazenar em cache um objeto IQueryable?

Eu tenho esse método que retorna uma consulta Linq para SQL para todas as linhas em uma tabela 'UserStatus':

<code>public IQueryable<BLL.Entity.UserStatus> GetAll()
{
    var query = from e in _SelectDataContext.UserStatus
                select new BLL.Entity.UserStatus
                {
                    UserStatusId = e.UserStatusId,
                    Enum = e.Enum,
                    Name = e.Name
                };

    return query;
}
</code>

É apenas uma tabela de consulta que dificilmente mudará, por isso gostaria de armazenar em cache os resultados. Posso convertê-lo em umList<> e cache isso, mas eu prefiro retornar um objeto IQueryable como outros métodos na classe dependem disso. Alguém pode ajudar? Obrigado.

questionAnswers(4)

yourAnswerToTheQuestion