تخطَّ إلى المحتوى

Save changes in loop (ARCH204)

هذا المحتوى غير متوفر بلغتك بعد.

Key dotnet.ef.save-changes-in-loop · Severity error · Category ef

Calling SaveChanges on each iteration produces a separate database round-trip per row and severely hurts performance.

foreach (var item in items)
{
_db.Products.Add(new Product { Name = item.Name });
await _db.SaveChangesAsync(); // per-row round-trip
}
foreach (var item in items)
{
_db.Products.Add(new Product { Name = item.Name });
}
await _db.SaveChangesAsync();

Accumulate all changes and call SaveChangesAsync once after the loop.