簡體   English   中英

EF如何包含要查詢的子對象

[英]EF how to include subobject to query

我有兩個表:用戶和令牌,如下所示。

在此處輸入圖片說明

現在,我使用EF編寫查詢,它使用Token對象,但Token對象內的子對象User為空。 我應該如何修改查詢以獲取帶有User對象的令牌?

using (var db = new AccountDbContext())
{
    Token tok = db.Tokens
       .FirstOrDefault(p => tokenValue == p.Value) == 0);

    if (tok.User == null)
    {
        //I'm there, but I 100% of sure thata this relation exists
        throw new Exception();
    }
}

實體框架不會自動將所有相關對象從數據庫中加載出去-如果存在許多具有很多關系的表,這可能會非常昂貴。 您可能需要告訴EF在查詢中加載關聯的User (稱為“緊急加載”),或者需要啟用“延遲加載”,以便EF在首次訪問時加載它。 (有關更多詳細信息,請參見MSDN文章“ 加載相關實體 ”。

這是一個急切加載的示例(由於我沒有您的模型,因此未經過全面測試):

using (var db = new AccountDbContext())
{
    Token tok = db.Tokens.Include(n => n.User)
       .FirstOrDefault(p => tokenValue == p.Value) == 0);
}

暫無
暫無

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

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