При първата заявка EF компилира модела. Това може да отнеме известно време за толкова голям модел.
Ето 3 предложения:http://www.fusonic.net/en/blog/2014/07/09/three-steps-for-fast-entityframework-6.1-first-query-performance/
Резюме:
- Използване на кеширано хранилище на db модели
- Генерирайте предварително компилирани изгледи
- Генерирайте предварително компилирана версия на entityframework, използвайки n-gen, за да избегнете jitting
Също така бих се уверил, че компилирам приложението в режим на освобождаване, когато правя сравнителните показатели.
Друго решение е да разгледаме разделянето на DBContext. 400 обекта са много и би трябвало да е по-добре да се работи с по-малки парчета. Не съм го пробвал, но предполагам, че би било възможно да се изградят моделите един по един, което означава, че нито едно натоварване не отнема 15 секунди. Вижте тази публикация от Джули Лерман https://msdn.microsoft.com/en-us/magazine/jj883952.aspx