Ir al contenido

Lazy loading in loop (ARCH206)

Esta página aún no está disponible en tu idioma.

Key dotnet.ef.lazy-loading-in-loop · Severity warning · Category ef

With lazy loading enabled, each navigation access inside a loop silently triggers an extra query.

var customers = await _db.Customers.ToListAsync();
foreach (var c in customers)
{
total += c.Orders.Sum(o => o.Total); // lazy load per customer
}
var customers = await _db.Customers
.Include(c => c.Orders)
.ToListAsync();
foreach (var c in customers)
{
total += c.Orders.Sum(o => o.Total);
}

Pre-load related collections with Include().