À la première requête, EF compile le modèle. Cela peut prendre un certain temps pour un modèle aussi grand.
Voici 3 suggestions :http://www.fusonic.net/en/blog/2014/07/09/three-steps-for-fast-entityframework-6.1-first-query-performance/
Un résumé :
- Utiliser un magasin de modèles de base de données en cache
- Générer des vues pré-compilées
- Générer une version pré-compilée de entityframework en utilisant n-gen pour éviter le jitting
Je m'assurerais également de compiler l'application en mode release lors des benchmarks.
Une autre solution consiste à diviser le DBContext. 400 entités, c'est beaucoup et il devrait être plus agréable de travailler avec de plus petits morceaux. Je ne l'ai pas essayé mais je suppose qu'il serait possible de construire les modèles un par un, ce qui signifie qu'aucune charge ne prend 15 secondes. Voir ce post de Julie Lerman https://msdn.microsoft.com/en-us/magazine/jj883952.aspx