当查询一个大型表时,你需要在代码中访问导航属性(我明确地不想使用延迟加载)什么会表现更好.Include()或.Load()?或者为什么要使用另一个?
在这个例子中,包含的表只有大约10个条目,员工有大约200个条目,并且可能发生大多数这些条目将被加载,因为它们匹配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();
Run Code Online (Sandbox Code Playgroud)
要么
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();
Run Code Online (Sandbox Code Playgroud)