簡體   English   中英

LINQ越來越依賴相關實體(很多)

[英]LINQ Getting count on related entities (many to many)

我需要歸還以下選民的人數:

UsersVoters之間有很多關系。 我想退還與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()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM