Объектный кеш EntityFramework.Получение уже найденных объектов - PullRequest
2 голосов
/ 21 ноября 2011

Когда отслеживание объекта включено, EF запоминает все найденные объекты. Есть ли другой способ сказать EF, чтобы он не запрашивал у DB объект и делал поиск в его локальном кэше? Я знаю, что метод GetObjectByKey ищет объект в памяти и только после этого в БД.

1 Ответ

3 голосов
/ 21 ноября 2011

Вы можете запросить ObjectStateManager:

var entities = context.ObjectStateManager()
                      .GetObjectStateEntries(~EntityState.Detached) // All attached entities
                      .Where(e => !e.IsRelationship)
                      .Select(e => e.Entity)
                      .OfType<YourEntityType>()
                      .Where(...);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...