Как кэшировать модель Entity Framework Core? - PullRequest
1 голос
/ 19 марта 2019

У меня есть кластер кластера Azure с микросервисами .NET core 2.2.Указанные службы используют ядро ​​EF для связи с базами данных SQL Azure.Кроме того, матричный кластер находится за балансировщиком нагрузки.

Контекст базы данных имеет ограниченный срок службы и внедряется в контроллеры с помощью внедрения зависимостей.

Все работает хорошо, когда сервисы последовательно запрашиваютсятот же клиент, поскольку балансировщик нагрузки гарантирует, что в течение как минимум 4 минут один и тот же пользователь будет отправлен в один и тот же экземпляр службы.Однако, когда подсистема балансировки нагрузки решает отправить пользователя в другой экземпляр, контекст базы данных создается снова (поскольку срок действия ограничен, это означает, что контекст создается для каждого нового веб-запроса).К сожалению, процесс построения модели занимает довольно много времени, и по этой причине первый запрос всегда намного медленнее, чем последующие (для одного и того же веб-запроса).

Вопросы будут, возможно ли как-то кешироватьмодель EF Core, чтобы ее не приходилось перестраивать каждый раз, когда возникает описанная выше ситуация?

Я имею в виду процедуру, аналогичную EF - когда файл .edmx создается один раз и загружается всоздание контекста.

...