Melhor Prática do Padrão de Repositório

Então, estou implementando o padrão de repositório em um aplicativo e encontrei dois "problemas" no meu entendimento do padrão:

Consulta - Eu li respostas que o IQueryable não deve ser usado ao usar repositórios. No entanto, é óbvio que você deseja que você não retorne uma lista completa de objetos toda vez que chamar um método. Deve ser implementado? Se eu tiver um método IEnumerable chamado List, qual é a "melhor prática" geral para um IQueryable? Quais parâmetros devem / não deveriam ter?

Valores escalares - Qual é a melhor maneira (usando o padrão Repositório) para retornar um único valor escalar sem ter que retornar o registro inteiro? Do ponto de vista do desempenho, não seria mais eficiente retornar apenas um único valor escalar sobre uma linha inteira?

questionAnswers(3)

yourAnswerToTheQuestion