C#,ORM освобождение памяти

кто может помочь, после загрузки из бд

вот DataContext

           using (DataContext db = new())
           {
              var terminal = db.Terminals.Where(x => x.IMEI == imei).Include(x => x.VersionFirtware).FirstOrDefault();

               var version = terminal.VersionFirtware.VersionFirtwareTerminal; // версия прошивки

              var dataTerminalJournals = db.DataTerminalJournals
                       .Where(x => x.Terminal.Id == terminal.Id)
                       .ToList();

              var dataTerminalsFromDB = dataTerminalJournals
                     .OrderByDescending(x => x.Id)
                     .Take(74)
                     .ToList();
    
                   // changeTerminals.Clear();
             //  }
           }

в память процессора загрузились данные, после выхода из конструкции using , то память не освободилась.

 public class DataContext : DbContext
{
    GetConnectionString _getConnectionString;
    public DbSet<VersionFirtware> VersionFirtwares { get; set; }
    public DbSet<Terminal> Terminals { get; set; }
    public DbSet<DataTerminalJournal> DataTerminalJournals { get; set; }

    public DbSet<SLAVEID> SlaveId { get; set; }
    public DbSet<ChangeTerminal> ChangeTerminals { get; set; }
    public DbSet<JournalErrors> JournalErrors { get; set; }
    public DataContext()
    {
        _getConnectionString = new GetConnectionString();
    }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        // optionsBuilder.UseSqlServer("Data Source=WIN-ARCTJA5L0P5\\SQLEXPRESS;Initial Catalog=KratecDBCore;Integrated Security=True");
        base.OnConfiguring(optionsBuilder);
        var connectionString = _getConnectionString.GetConnectionStrings("KratecConnection");
        optionsBuilder.UseSqlServer(connectionString);
    }
}

вообщем переделал вот в такой запрос и нормально стало

                   Stopwatch sp = new();
                   //  dataTerminalJournals = db.DataTerminalJournals
                   //     .Where(x => x.Terminal.Id == terminal.Id)
                   //    .ToList();

                   sp.Start();

                   dataTerminalJournals = await db.DataTerminalJournals
                                        .Where(x => x.Terminal.Id == terminal.Id)
                                        .OrderByDescending(x => x.Id)
                                        .Take(74)
                                        .ToListAsync();

                   sp.Stop();

                   Debug.WriteLine($"{sp.Elapsed.TotalSeconds}");

Ответы (0 шт):