簡體   English   中英

C# 實體框架分頁子項包括

[英]C# Entity Framework Pagination Children Includes

我正在尋找執行以下操作的最快方法。 我需要完成的是,我有一個屏幕顯示在“批次”內定義的“零件”。 每個零件都有一個站的對象,每個站都有工具的對象,每個工具都可以有測量值。

我的問題是我無法讓分頁工作。 傳入的偏移量為 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 package 拋出一個通用異常,該異常沒有提供任何細節(上面的代碼就是這樣做的),或者如果我使用常規的 EntityFramework 函數會為無效路徑引發異常。

謝謝您的幫助。

好的,在閱讀了 Z.EntityFrameworkPlus 的文檔后,我現在看到您不能在同一個 LINQ 語句上使用 IncludeFilter 和 IncludeOptimzed

https://entityframework-plus.net/query-include-optimized

我將 IncludeFilter 切換到 IncludeOptimzed 並且它可以工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM