多対多のいずれかの側のCOUNT(*)を取得するための最も簡潔なLINQ To SQL?

StackOverflow https://stackoverflow.com/questions/236632

質問

健全性チェックを手伝ってください。多対多の関係を想定:

投稿、PostTagAssoc、タグhttp://www.codingthewheel.com/pics/many_to_many。 gif

タグ(または投稿)に割り当てられた投稿(またはタグ)の合計数を示す結果セットを取得するための最も簡潔な方法(LINQ to SQLを使用)は何ですか?

ありがとう!

役に立ちましたか?

解決

 from pta in db.PostTagAssoc
 group pta by pta.PostID into t
 select new {PostID = t.Key, TagCount=t.Count()}

他のヒント

これにより、タグが0の投稿も表示され、私の意見では少し明確になります。

from p in db.Post
select new {PostID = p.ID, TagCount = t.PostTagAssoc.Count}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top