Время запуска платформы Entity Framework
Мне интересно, возможно ли сначала ускорить первый запрос, сделанный с помощью EF-кода.
Я сделал небольшую тестовую программу с одним объектом, содержащим 2 поля, а первый запрос занимает 2,2 секунды, второй запрос (который является таким же) занимает 0,006 секунды.
Я уже предварительно компилирую представление, так что не помогу здесь.
Я думаю, что проблема в том, что для построения модели в памяти требуется некоторое время, но нужно ли так долго? И есть ли способ прекомпилировать эту модель, например, с представлениями?
Ответы
Ответ 1
Эта статья: Время запуска Squash Entity Framework с предварительно скомпилированными представлениями подробно описывает решение.
Он включает в себя опцию Оптимизировать модель данных сущности в инструментах электропитания Entity Framework для создания предварительно скомпилированного файла класса .Views.
Ответ 2
Когда вы делаете свой первый запрос, EF инициализирует себя, и это занимает некоторое время. Я не думаю, что там можно многое сделать, чтобы ускорить инициализацию инфраструктуры EF, но если вы действительно ищете, чтобы ускорить первый запрос, который вы делаете, а не инициализацию EF, ну, вы можете попытаться заставить EF инициализировать перед, выполнив первый запрос.
using (var db = new MyContext())
{
db.Database.Initialize(force: true);
}