Entity framework core 如何单次查询包含关联收款实体的关联参照实体

Entity framework core 如何单次查询包含关联收款实体的关联参照实体,entity-framework-core,Entity Framework Core,我有以下模式供会员撰写电影评论- 公共类电影 { 公共int Id{get;set;} 公共字符串标题{get;set;} 公共列表审核{get;set;} } 公开课复习 { 公共int Id{get;set;} 公共字符串体{get;set;} 公共电影{get;set;} 公共成员成员{get;set;} } 公共班级成员 { 公共int Id{get;set;} 公共字符串名称{get;set;} 公共列表审核{get;set;} } 我想查询电影,以便每部电影都包含所有相关评论,而每

我有以下模式供会员撰写电影评论-

公共类电影
{
公共int Id{get;set;}
公共字符串标题{get;set;}
公共列表审核{get;set;}
}
公开课复习
{
公共int Id{get;set;}
公共字符串体{get;set;}
公共电影{get;set;}
公共成员成员{get;set;}
}
公共班级成员
{
公共int Id{get;set;}
公共字符串名称{get;set;}
公共列表审核{get;set;}
}
我想查询电影,以便每部电影都包含所有相关评论,而每部评论都包含相关成员。我可以用两种方法来做-

var movies=wait_context.movies.Include(p=>p.Reviews.tolistSync();
var reviews=wait_context.reviews.Include(p=>p.Member.ToListAsync();

如何使用单个查询完成此操作?

根据刚刚包含的相关类型获取要进一步包含的其他相关数据:

var movies = await _context.Movies.Include(p=>p.Reviews).ThenInclude(r => r.Member).ToListAsync();
我发现IntelliSense可能不适用于集合上的Include,但数据包含正确

也就是说,当你打字的时候

ThenInclude(r => r.
您可能会获得“Add”、“Aggregate”等扩展方法的选项,但不会获得随后要包含的属性名称。只要键入名称,它就可以工作。

您可以使用它,然后将其包括在内


var movies=wait_context.movies.Include(p=>p.Reviews)。然后Include(x=>x.Member)。ToListAsync()

谢谢你的回答。即使
然后include
中的lambda参数没有列出
成员
,看起来它仍然有效。谢谢。IntelliSense就是这种情况,因此我没有费心强行键入名称。它起作用了。