Il framework entità sembra utilizzare quantità eccessive di memoria quando si inseriscono nuovi oggetti in un database.Utilizzo memoria quadro entità
for(int i = 0; i < numOwners; ++i)
{
var owner = Owner.CreateOwner();
db.AddToOwnerSet(owner);
for(int j = 0; j < numChildren; ++j)
{
var child = Child.CreateChild();
owner.Childs.Add(child);
}
}
db.SaveChanges();
A questo punto, questi oggetti contengono pochissimi elementi di dati. Quando si inseriscono 140.000 di questi oggetti nel database, l'utilizzo della memoria totale dell'applicazione era di 600 MB e 1,2 gigabyte per 300.000. Questi oggetti sono piccoli, solo un nome di stringa e una chiave intera.
Posso ridurre l'utilizzo della memoria inserendo le chiamate di SaveChanges nel ciclo, ma i tempi di esecuzione peggiorano notevolmente, ed è già piuttosto brutto.
Qualcuno sa perché il framework di entità sta usando così tanta memoria, o come ottenerlo per usare meno memoria?