LINQ To SQL le plus succinct pour prendre COUNT (*) de l’un ou l’autre des côtés de plusieurs à plusieurs?
-
04-07-2019 - |
Question
S'il vous plaît, aidez-moi avec un contrôle de santé mentale. En supposant une relation plusieurs-à-plusieurs:
Post, PostTagAssoc, Tag http://www.codingthewheel.com/pics/many_to_many. gif
Quelle est la méthode la plus succincte (avec LINQ to SQL) pour obtenir un jeu de résultats indiquant, pour chaque balise (ou publication), le nombre total de publications (ou balises) qui lui sont attribuées?
Merci!
La solution
from pta in db.PostTagAssoc
group pta by pta.PostID into t
select new {PostID = t.Key, TagCount=t.Count()}
Autres conseils
Ceci affichera également les publications avec 0 balises, ce qui est un peu plus clair à mon avis.
from p in db.Post
select new {PostID = p.ID, TagCount = t.PostTagAssoc.Count}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow