Entity çerçevesini kullanarak yüzbinlerce kaydı kaydetmeye çalışıyorum.System.OutOfMemoryException?
: binlerce kayıt birkaç yüz kaydettikten sonra ben hata aşağıdaki almak System.OutOfMemoryException
Kodum
foreach (BibContent objbibcontents in lstBibContent)
{
db.BibContents.AddObject(objbibcontents);
c = c + 1;
if (c == 1000)
{
db.SaveChanges();
c = 0;
}
}
Ben 1000 benim db başka 1000 kayıt baskın olmadığından kaydeden kaydettikten sonra fark ettim. onları dbcontext'e ekliyor.
1000 kayıttan sonra yeni bir örnek oluşturuyorum ancak db'm yine bir önceki nesnenin verilerine sahip. Koduma bak
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;
}
}
i Doğrusu benim DBContext temizleyin sonra tekrar oluşturabilirim? –
Her eklenmiş nesneyi ayrıldığınız şekilde ayarlamanız ve ayarlamanız gerekir. Yeni bir içerik örneği oluşturmak çok daha iyi bir yoldur. –