Como posso ter certeza que meu consultas LINQ executar quando chamado no meu DAL, não de uma forma retardada?

StackOverflow https://stackoverflow.com/questions/1013201

Pergunta

Eu tenho um DAL que é composto de um monte de métodos que executam consultas LINQ no meu banco de dados.

Como posso garantir que, antes de retornar dizer uma IEnumberable ou algo semelhante a partir do banco de dados, I garantir que a consulta LINQ é executar então , e não de alguma forma retardado apenas para ser executado quando o resultado é usado?

Eu sei que posso chamar ToList () no meu resultado em meus métodos para forçá-lo a executar, mas é esta a melhor maneira?

Foi útil?

Solução

ToList ou ToArray realmente é a melhor maneira de forçá-lo a executar e obter toda a sequência (ver comentário do Randolpho abaixo para outros métodos que vai forçar a execução para os elementos individuais da sequência).

Existe uma razão específica que você gostaria de evitar excution adiada?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top