[英]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.