Incluya el rendimiento () vs .Load () en EntityFramework
Al consultar una tabla grande en la que necesita acceder a las propiedades de navegación más adelante en el código (explícitamente no quiero usar la carga diferida), lo que funcionará mejor.Include()
o.Load()
? ¿O por qué usar el uno sobre el otro?
En este ejemplo, las tablas incluidas solo tienen aproximadamente 10 entradas y los empleados tienen aproximadamente 200 entradas, y puede suceder que la mayoría de ellas se carguen de todos modos con include porque coinciden con la cláusula where.
Context.Measurements.Include(m => m.Product)
.Include(m => m.ProductVersion)
.Include(m => m.Line)
.Include(m => m.MeasureEmployee)
.Include(m => m.MeasurementType)
.Where(m => m.MeasurementTime >= DateTime.Now.AddDays(-1))
.ToList();
o
Context.Products.Load();
Context.ProductVersions.Load();
Context.Lines.Load();
Context.Employees.Load();
Context.MeasurementType.Load();
Context.Measurements.Where(m => m.MeasurementTime >= DateTime.Now.AddDays(-1))
.ToList();