.Include () против производительности .Load () в EntityFramework
При запросе большой таблицы, где вам необходимо получить доступ к свойствам навигации позже в коде (я явно не хочу использовать отложенную загрузку), что будет работать лучше.Include()
или же.Load()
? Или зачем использовать один над другим?
В этом примере все включенные таблицы содержат только около 10 записей, а сотрудники имеют около 200 записей, и может случиться так, что большинство из них все равно будут загружены с помощью include, поскольку они соответствуют предложению 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();
или же
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();