使用以下类,我想为 EF core 创建一个 Linq 查询,该查询返回对象 Course 和课程中的 Modules,然后还返回 Notes 和 Chapters
这将带回课程、课程中的模块和模块中的章节,然后是章节中的注释(如果有)。我想做的是将笔记和章节带入模块中。此查询的 Linq 查询语法是什么?
var course = context.Courses
.Include(c => c.Modules)
.ThenInclude(m => m.Chapters)
.ThenInclude(c => c.Notes)
.Single(c => c.Id == courseId);
public class Course
{
public int Id { get; set; }
public string Name { get; set; }
public List<Module> Modules { get; set; }
public Lab Lab { get; set; }
}
public class Module
{
public int Id { get; set; }
public string Name { get; set; }
public List<Chapter> Chapters { get; set; }
public List<Note> Notes {get;set;}
}
public class Chapter
{
public int Id { get; set; }
public string Title { get; set; }
}
public class Note
{
public int Id { get; set; }
public string Content { get; set; }
}
解决办法是
var course = context.Courses
.Include(c => c.Modules)
.ThenInclude(m => m.Chapters)
.Include(c => c.Modules)
.ThenInclude(c => c.Notes)
.Single(c => c.Id == courseId);