Время запуска платформы 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);
        }