0

对于健身中心管理软件,我有 3 个表:客户、订阅、会话

  • 客户订阅表之间存在一对多的关系
  • 订阅会话表之间存在一对多的关系

现在我想显示一个客户列表及其会话数:这个查询给了我一个例外

var query = _context.CUSTOMERs.Select(c => new
{
adh = c,
cnt =      c.SUBSCRIPTIONs.OrderByDescending(s=>s.SUB_START_DATE).FirstOrDefault().SESSIONs.Count
});

我的猜测是因为一些客户还没有订阅。

其次:Defaultifempty 运算符是什么,在这种情况下它可以帮助我吗感谢您的帮助和美好的一天

4

1 回答 1

0

您可以使用 SelectMany 来获取计数

_context.CUSTOMERs.Select(c=> new { Customer = c, 
          SessionCount = c.SelectMany(c=>c.SUBSCRIPTIONs)
                          .SelectMany(su=>su.SESSIONs).Distinct().Count()})

这将为您提供所有会话,因为它似乎是您想要的

于 2014-05-12T15:14:49.980 回答