LINQ 确定 children of children 是否存在

LINQ determine if children of children exists

目前我有这样的数据库设计:

Movie 1..1-->0..* MovieRelease 1..1-->0..* Performance

我想为 select 具有一个或多个 performance 的所有 Movie 编写一个 LINQ 语句。这是我想出来的,但它不起作用。

var instances = await GeneralModelRepository.GetQueryable<Movie>()
    .Include(x => x.MovieReleases)
    .ThenInclude(x => x.Performances)
    .Where(x => x.MovieReleases.Any())
    .Where(x => x.MovieReleases.All(x => x.Performances.Any()))
    .AsNoTracking().ToListAsync();

尝试以下查询:

var instances = await GeneralModelRepository.GetQueryable<Movie>()
    .Include(x => x.MovieReleases)
        .ThenInclude(x => x.Performances)
    .Where(x => x.MovieReleases.SelectMany(r => r.Performances).Any())
    .AsNoTracking()
    .ToListAsync();