如何获取数据库表中支持者数量的计数

本文关键字:支持者 数据库 何获取 获取 | 更新日期: 2023-09-27 18:34:55

我有一个 Lambda 表达式,它返回一个活动列表及其相关的服务、支持者和订单。

我需要为竞选活动获得支持者总数。 每个广告系列可以有多个服务,每个服务可以有多个支持者。

我当前的代码:

Campaign campaign = db.Campaigns.Include(c => 
                          c.Services.Select(s => 
                              s.Orders.Select(o => o.Backers)))
                      .Where(c => c.CampaignID == id)
                      .SingleOrDefault();

如何获取数据库表中支持者数量的计数

  • Campaigns有很多Services
  • Services有一个属性Orders
  • Orders有很多Backers

是我所看到的。 所以:

int count = db.Campaigns.Find(id)
                          .Services
                            .SelectMany(s => s.Orders.Backers)
                            .Count();
int totalBackers = campaign.Services.SelectMany(x => x.Orders.Select(y => y.Backers.Count)).Sum();