Есть ли в Entity Framework механизм кэширования, такой как DataSet / DataTables? - PullRequest
2 голосов
/ 17 мая 2010

Есть ли в Entity Framework механизм кэширования, как в DataSet / DataTables?

Другими словами, если вы начнете использовать EF, это действительно просто способ легко получить данные в / из базы данных без предоставления дополнительного слоя кэширования, как это было сделано в DataSet / DataTables, где у вас есть представление в памяти (онлайн) / off-line) и который в какой-то момент можно сказать «сохранить все изменения в базе данных»

Ответы [ 2 ]

2 голосов
/ 17 мая 2010

Зависит от того, насколько сложный кеш вы имеете в виду.

EF имеет кэш объектов. Смотрите ...

Разрешение личности, управление состоянием и отслеживание изменений

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

и ...

Сохранение изменений и управление параллелизмом

Эти статьи в некоторой степени знакомят с EF Object Cache.

Для дальнейшего кэширования вы можете написать оболочку как в ... http://blogs.msdn.com/efdesign/archive/2008/07/09/transparent-caching-support-in-the-entity-framework.aspx

1 голос
/ 17 мая 2010

Вы можете проверить провайдера кэширования для структуры сущностей. Он содержит 3 реализации интерфейса ICache, которые можно использовать в ваших приложениях:

  • AspNetCache - кеш, который использует ASP.NET механизм кэширования.
  • InMemoryCache - просто, в памяти кэш с базовым сроком действия LRU политика.
  • VelocityCache - реализация кэширования, которая использует Кодовое имя распределенного кэша Microsoft «Скорость» ОСАГО 3.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...