Как уже говорил Лухманн, у моего друга Jarek есть отличный пример кеширующего провайдера для Entity Framework. О котором он говорит о здесь .
Однако иногда такой подход является излишним, и я подозреваю, что кэширование в странах является хорошим примером, когда усилия не стоят этого. Возможно, лучше реализовать какое-то специальное кэширование.
Если вы попытаетесь сделать это, основная проблема, с которой вы столкнетесь, заключается в том, что экземпляр Entity Framework может быть присоединен только к одному ObjectContext за раз, что означает, что если вы получаете параллельные запросы (как на веб-сайте), вы будете есть проблемы - вы просто берете предметы из кеша и используете их вслепую.
Вам нужен клонирующий кеш, то есть когда вы что-то извлекаете из кеша, он клонирует их.
Я собрал совет, который иллюстрирует, как это сделать Совет 14 - Как кэшировать справочные данные Entity Framework
Надеюсь, это поможет
Алекс Джеймс
Entity Framework Team, Microsoft.