При запросе большой таблицы, в которой вам нужно получить доступ к навигационным свойствам позже в коде (я явно не хочу использовать ленивую загрузку), что будет работать лучше .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();