Sto tentando di salvare centinaia di migliaia di record utilizzando il framework Entity.System.OutOfMemoryException che utilizza Entity Framework?
:: dopo aver salvato qualche centinaia di migliaia di record ottengo errore seguente System.OutOfMemoryException
Il mio codice
foreach (BibContent objbibcontents in lstBibContent)
{
db.BibContents.AddObject(objbibcontents);
c = c + 1;
if (c == 1000)
{
db.SaveChanges();
c = 0;
}
}
ho notato dopo aver salvato il mio 1000 record db non è prevalente un altro 1000 record. li sta aggiungendo nel mio dbcontext.
Sto creando una nuova istanza dopo 1000 record ma il mio db ha ancora i dati dell'oggetto precedente. Vedere il mio codice
foreach (var objbibcontents in lstBibContent)
{
vibrantEntities db1 = new vibrantEntities(szConStr);
lstBibCon.Add(objbibcontents);
// db.BibContents.AddObject(objbibcontents);
c = c + 1;
if (c == 1000)
{
foreach (BibContent bibobject in lstBibCon)
{
db1.BibContents.AddObject(bibobject);
}
lstBibCon.Clear();
db1.SaveChanges();
c = 0;
flag = 1;
}
}
posso cancellare la mia DbContext piuttosto che creare di nuovo? –
Dovresti andare e impostare ogni oggetto aggiunto come distaccato. Creare una nuova istanza di contesto è molto meglio. –