Я рассказал о некоторых подобных постах, связанных с структурой сущности и использовании памяти /снятием памяти, но я все еще не могу понять, что происходит в моем сценарии.using( var context = new MyDbContext() {
var matchingEvents = context.SecurityEvents.AsNoTracking().ToList();
foreach( var sEvent in matchingEvents ) {
//Do Some Processing Here.
}
}
< /code>
Все это работает, как я и ожидал с очень небольшим использованием памяти. < /p>
возвращаемый набор записей составляет приблизительно 20 000 записей.using( var context = new MyDbContext() {
var matchingEvents = context.SecurityEvents.AsNoTracking().ToList();
foreach( var sEvent in matchingEvents ) {
//Force The Linked Entity To Be Loaded
if (sEvent.User == null ) continue;
}
}
< /code>
В конце запроса /обработки использование памяти составляет до 4 ГБ, что в этом случае ожидается, так как внутри пользовательского сущности есть много других данных. Все еще используя 4 ГБ памяти без другой другой обработки. Я бы был, хотя через некоторое время, GC начал бы.using( var context = new MyDbContext() {
context.Configuration.LazyLoadingEnabled = false;
var matchingEvents = context.SecurityEvents.AsNoTracking().ToList();
foreach( var sEvent in matchingEvents ) {
//Force The Linked Entity To Be Loaded
if (sEvent.User == null ) continue;
}
}
< /code>
Итак, я думаю, я изо всех сил пытаюсь понять, почему связанные сущности не в конечном итоге избавлены от них или как я могу избавиться от них.>
Подробнее здесь: https://stackoverflow.com/questions/796 ... ing-memory
Организация объекта не выпускает память ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение