簡體   English   中英

如何在 ICollection 導航屬性上加入數據?

[英]How do I join data on ICollection navigation properties?

基於以下 model,我試圖包含一些導航屬性:

Assessment
\_ Sections
   \_ Questions
      \_ QuestionOptions

我正在使用 ICollection 將子項 collections 分組到他們的父項中:

public class Assessment
{
    public int Id { get; set; }
    public Client Client { get; set; }
    public Package Package { get; set; }
    public string Name { get; set; }
    public string Description { get; set; }

    public ICollection<AssessmentSection> Sections { get; set; }
}
public class AssessmentSection
{
    // Redacted properties for brevity.

    public ICollection<AssessmentQuestion> Questions { get; set; }
}
public class AssessmentQuestion
{
    // Redacted properties for brevity.

    // Include AssessmentQuestionOptions for multiple choice questions.
    public ICollection<AssessmentQuestionOption> Options { get; set; }
}
public class AssessmentQuestionOption
{
    // Redacted properties for brevity.
}

我現在發現的是我需要在查詢中.Include() collections 來獲取查詢中的數據:

var assessment = await context.Assessments.Include(x => x.Sections).SingleOrDefaultAsync(x => x.Id == id);

這提出了一個問題,因為我似乎無法.Include() Questions 和 QuestionOption 項目。

如何在我的查詢中包含此結構的每個級別?

.ThenInclude()用於子實體。

請參閱文檔。

另請參閱有關預加載 EF 核心相關實體的主要數據:

https://learn.microsoft.com/en-us/ef/core/querying/related-data/eager#including-multiple-levels

暫無
暫無

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

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