首页 > 解决方案 > 在 Entity Framework .NET5 中获取多级相关记录

问题描述

我有以下代码。它带回了Show及其相关的Slides。然而,幻灯片也有相关的项目,但我不知道如何让查询包括那些(数据库中有一个外键)。

Show sh = (from s in _context.Shows
           where s.ShowId == id
           select new Show()
           {
               ShowId=s.ShowId,
               ShowName=s.ShowName,
               Slides=s.Slides           
           }).FirstOrDefault();

如何修改它以使其也获取每个Slide的Items列表?

我正在使用.Net5

标签: c#entity-framework-core.net-5

解决方案


如果您正确定义了 DbContext,则 LINQ 将是

Show sh = _context.Shows
    .Where(s => s.ShowId == id)
    .Include(s => s.Slides)
    .ThenInclude(sl => sl.Items)
    .FirstOrDefault();

推荐阅读