Na první dotaz EF zkompiluje model. U takto velkého modelu to může trvat nějakou dobu.
Zde jsou 3 návrhy:http://www.fusonic.net/en/blog/2014/07/09/three-steps-for-fast-entityframework-6.1-first-query-performance/
Shrnutí:
- Použití úložiště modelů db v mezipaměti
- Generujte předkompilovaná zobrazení
- Vygenerujte předem zkompilovanou verzi entityframework pomocí n-gen, abyste se vyhnuli jittingu
Také bych se ujistil, že při provádění benchmarků kompiluji aplikaci v režimu vydání.
Dalším řešením je podívat se na rozdělení DBContext. 400 entit je hodně a mělo by být příjemnější pracovat s menšími kousky. Nezkoušel jsem to, ale předpokládám, že by bylo možné postavit modely jeden po druhém, což znamená, že žádné zatížení netrvá 15s. Podívejte se na tento příspěvek od Julie Lerman https://msdn.microsoft.com/en-us/magazine/jj883952.aspx