C# Linq选择子对象没有关联子对象的对象

C# Linq选择子对象没有关联子对象的对象,c#,linq,C#,Linq,具有以下层次结构: AvailabilityCounts可以有许多成员计数 每个MemberCount可以有一个预订 我需要一个linq语句,该语句将选择所有AvailabilityCounts,其中至少有一个子MemberCount,并且没有关联的预订 我已经做到了这一点: var test = rep.AvailabilityCounts_Get() .Where(a => a.MemberCounts .Where(m =>

具有以下层次结构:

AvailabilityCounts可以有许多成员计数 每个MemberCount可以有一个预订

我需要一个linq语句,该语句将选择所有AvailabilityCounts,其中至少有一个子MemberCount,并且没有关联的预订

我已经做到了这一点:

var test = rep.AvailabilityCounts_Get()
          .Where(a => a.MemberCounts
                .Where(m => m.Bookings.Any())
          .Count() > 0);
当AvailabilityCount有多个MemberCount时,这一点起作用,但当只有一个MemberCount时,结果相反

我很抱歉用别人的大脑来做我的工作,但我很难理解其中的逻辑。

我想说Any()和not Any()应该做你想做的事

rep.AvailabilityCounts_Get.Where(m => m.MemberCounts.Any(x => !x.Bookings.Any());
试试这个:

var test = rep.AvailabilityCounts_Get().Where(a => a.MemberCounts
                                                    .Any(m => !m.Bookings.Any()));