簡體   English   中英

在實體框架中選擇多個關系

[英]Selecting multiple relationships in Entity Framework

我有表BaseTable ,其中具有列表CategoriesCategory表)。 Categories具有Definitions列表( Definition表), Definitions具有Values列表( Value表),並且Definitions具有Commands列表( Commands表)。

下面是表結構:

BaseTable: Categories -> Definitions -> Values -> Comments
BaseTable: Categories -> Definitions -> Commands

所以我想從BaseTable檢索一行以及相關的表。

這是我用來從表中檢索數據的代碼片段:

BaseTable base = base.dbcontext.BaseTables
    .Include(b1 => b1.Categories.Select(c => c.Definitions
                                        .Select(v => v.Values
                                        .Select(com => com.Comments))))
    .Include(b2=>b2.Categories.Select(k=>k.Definitions
                                       .Select(f=>f.Commands))) 
    .Where(b3 => b3.Id == id).SingleOrDefault();

使用上面的查詢,我能夠檢索BaseTable的所有相關表。 但是在我的數據庫中,“ Values和“ Commands表中有很多條目,因此此查詢要花費大量時間來檢索所有數據。

任何人都可以幫助我編寫正確的查詢來檢索上述情況嗎?

您可以通過在模型的屬性中添加'virtual'關鍵字來嘗試延遲加載。 在許多情況下,它將提高應用程序的性能。

暫無
暫無

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

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