У меня есть сайт MVC3 с EF4.1 и шаблоном репозитория / единицы работы, и я создаю новый контекст для каждого запроса http.
Я хочу реализовать пользовательское кэширование объектов в Entity Framework 4.1. Это означает добавление объекта в кэш asp.net для более быстрого поиска другими подобными http-запросами.
Но проблема с EF заключается в том, что эти кэшированные сущности привязаны к контексту, который использовался для извлечения этой сущности в первую очередь и который был удален после того, как закончился запрос http.
Теперь, когда я хочу обновить этот кэшированный объект, он дает мне «Объектный объект не может ссылаться на несколько экземпляров IEntityChangeTracker», что имеет полный смысл.
Какова лучшая практика для реализации кэширования объектов в MVC3 / EF4.1?
Я предполагаю, что вы должны отсоединить сущность от старого контекста при добавлении в кеш и присоединении к новому контексту при извлечении. Но я, конечно, не первый, кто сталкивается с этим или пытается реализовать это!
Есть ли там помощники или библиотеки? (пожалуйста, не указывайте мне http://code.msdn.microsoft.com/EFProviderWrappers/Release/ProjectReleases.aspx?ReleaseId=4747, поскольку это удаляет ВСЕ записи из кэша при любом обновлении таблицы, оказываясь бесполезным).
Спасибо.