Devo usar Session / Cache para armazenar o DataSet ou devo buscar novos dados do banco de dados a cada vez?

A quantidade de codificação que entra na criação de um DataSet é geralmente significativa. Agora não sei qual é o padrão ou a melhor prática do setor ao lidar com solicitações de dados de várias páginas ASP.NET. Devo usar um cache / sessão para passar o DataSet de uma página para outra ou devo buscar diretamente do banco de dados para cada página?

Qual é a abordagem mais comum aqui?

questionAnswers(2)

yourAnswerToTheQuestion