Организация объекта не выпускает памятьC#

Место общения программистов C#
Ответить
Anonymous
 Организация объекта не выпускает память

Сообщение Anonymous »

Я рассказал о некоторых подобных постах, связанных с структурой сущности и использовании памяти /снятием памяти, но я все еще не могу понять, что происходит в моем сценарии.using( var context = new MyDbContext() {
var matchingEvents = context.SecurityEvents.AsNoTracking().ToList();
foreach( var sEvent in matchingEvents ) {
//Do Some Processing Here.
}
}
< /code>
Все это работает, как я и ожидал, с очень небольшим использованием памяти. Возвращенный набор записей составляет приблизительно 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»