Na primeira consulta, o EF compila o modelo. Isso pode levar algum tempo sério para um modelo tão grande.
Aqui estão 3 sugestões:http://www.fusonic.net/en/blog/2014/07/09/three-steps-for-fast-entityframework-6.1-first-query-performance/
Um resumo:
- Usando um armazenamento de modelo de banco de dados em cache
- Gerar visualizações pré-compiladas
- Gere uma versão pré-compilada do entityframework usando n-gen para evitar jitting
Eu também me certificaria de compilar o aplicativo no modo de lançamento ao fazer os benchmarks.
Outra solução é analisar a divisão do DBContext. 400 entidades é muito e deveria ser melhor trabalhar com pedaços menores. Eu não tentei, mas suponho que seria possível construir os modelos um por um, o que significa que nenhuma carga leva 15s. Veja esta postagem de Julie Lerman https://msdn.microsoft.com/en-us/magazine/jj883952.aspx