【发布时间】:2020-04-16 14:27:40
【问题描述】:
我正在寻找执行以下操作的最快方法。我需要完成的是,我有一个屏幕显示在“批次”内定义的“零件”。每个零件都有一个站的对象,每个站都有工具的对象,每个工具都可以有测量。
我的问题是我无法让分页工作。传入的偏移量为 0,要获取的记录数为 20,但是以下操作不起作用:
Lot foundLot = EntitiesContext.Lots.Where(x => x.ID == lotID)
.IncludeFilter(lot => lot.Parts.OrderBy(n => n.PartID).Skip(offset).Take(numberOfRecords).ToList())
.IncludeOptimized(lot => lot.Parts.Select(parts => parts.Stations))
.IncludeOptimized(lot => lot.Parts.Select(parts => parts.Stations.Select(station => station.Tools)))
.IncludeOptimized(lot => lot.Parts.Select(parts => parts.Stations.Select(station =>
station.Tools.Select(tools => tools.Measurements))))
.FirstOrDefault();
所以我试图过滤以仅抓取某些部分,然后在这些过滤的部分中,我想抓取与它们相关联的所有孩子的数据。我已经检查了与此相关的所有现有堆栈溢出文章,并且我所做的更改会导致 Z.EntityFrameworkPlus 包抛出一个通用异常,它没有提供任何细节(这就是上面的代码所做的),或者如果我使用常规的 EntityFramework 函数会为无效路径引发异常。
感谢您的帮助。
【问题讨论】:
标签: c# performance entity-framework entity