Отключение графа EF Object для запроса - PullRequest
2 голосов
/ 23 февраля 2012

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

Моя проблема заключается в том, что во время операции выборки, когда яЯ загружаю все эти данные через EF, граф объекта становится огромным (около 4 ГБ, который исчезает, как только я располагаю контекстом).Я хотел бы быть в состоянии сказать EF не отслеживать какие-либо объекты внутри области действия этого запроса (или времени жизни контекста), чтобы мое приложение не исчерпало память.

Есть ли хороший способсделать это?

1 Ответ

3 голосов
/ 23 февраля 2012

Вы можете использовать AsNoTracking метод

var entities = dbContext.MyEntities.Where(/**/).AsNoTracking();
...