Я работаю над приложением MVC 5, которое использует Entity Framework 6.1.3. Я пытаюсь оптимизировать первый вызов, который обычно занимает 1-4 секунды, путем предварительной генерации представлений. Я понимаю, почему это происходит, но чувствую, что где-то упускаю важный шаг.
Мой текущий тест запускает одну и ту же функцию пять раз, чтобы получить набор объектов из моей БД с помощью EF. Когда я запускаю это с установкой «Вставить в выходной каталог» в моем edmx, я получаю следующие результаты:
**
- Первый вызов EF: 2617 миллисекунд
- Второй вызов EF: 19 миллисекунд
- Третий вызов EF: 19 миллисекунд
- Четвертый вызов EF: 17 миллисекунд
- Пятый вызов EF: 20 миллисекунд
**
Я ожидаю этого, поскольку EF генерирует локальные представления для доступа к базе данных...
Когда я переключаюсь на «Копировать в выходной каталог», дважды проверяю, что мои файлы копируются в папку bin и моя строка подключения была обновлена, а затем запускаю тот же тест, я получаю аналогичные результаты:
**
- Первый вызов EF: 2546 миллисекунд
- Второй вызов EF: 19 миллисекунд
- Третий вызов EF: 18 миллисекунд
- Четвертый вызов EF: 18 миллисекунд
- Пятый вызов EF: 21 миллисекунда
**
Никаких изменений в первом звонке, что странно. Я добавил EF Power Tools, щелкнул правой кнопкой мыши на моем edmx => Entity Framework => Generate Views. Файл «Model1.View.cs» был создан со строкой для каждой из моих таблиц/представлений, поэтому я чувствовал, что на правильном пути. Когда я снова провел тест, я получил те же результаты. Установка точки останова в каждом методе только что созданного файла «Model1.View.cs» показывает, что он никогда не срабатывает.
Я пропустил важный шаг здесь? Как указать EF использовать файл, созданный EF Power Tools, или как заставить работать функцию «Копировать в выходной каталог», как я читал в Интернете?