LINQ获得相关实体的计数(多对多)

  • 本文关键字:实体 LINQ c# sql linq
  • 更新时间 :
  • 英文 :


我需要返回以下投票者的计数:

CCD_ 1与CCD_。我想返回与Users相关的Voters计数。我试过这个:db.Users.Voters.Count(),但失败得很惨,因为它不识别.Voters

有什么方法可以直接做到这一点吗?

我假设.Voters是单个User对象的属性,而不是Users集合的属性。在这种情况下,一种方法是:

db.Users.Sum(user => user.Voters.Count());

但这将使用户共享的选民人数翻倍。如果您想要不同的计数,请使用

d.Users.SelectMany(user=>user.Voters).Distinct().Count();

这样行吗?

db.Users.Voters != null ? db.Users.Voters.Count() : 0

您需要使用SelectMany从多对多中提取匹配项。

Users.SelectMany(x=>x.Voters。Where(y=>y.Users.Any(z=>z.Id==x.Id)).Count()

相关内容

  • 没有找到相关文章

最新更新