如何创建将在表的子属性中返回多个复杂属性的 Linq 查询?

问题描述 投票:0回答:1

使用以下类,我想为 EF core 创建一个 Linq 查询,该查询返回对象 Course 和课程中的 Modules,然后还返回 NotesChapters

这将带回课程、课程中的模块和模块中的章节,然后是章节中的注释(如果有)。我想做的是将笔记和章节带入模块中。此查询的 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; }
}
linq entity-framework-core
1个回答
0
投票

解决办法是

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);
© www.soinside.com 2019 - 2024. All rights reserved.