我需要返回以下投票者的计数:
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()