【问题标题】:Most succinct LINQ To SQL for taking COUNT(*) of either side of many-to-many?最简洁的 LINQ To SQL 用于获取多对多任一侧的 COUNT(*)?
【发布时间】:2011-08-01 20:01:38
【问题描述】:

请帮助我进行健全性检查。假设多对多关系:

Post, PostTagAssoc, Tag http://www.codingthewheel.com/pics/many_to_many.gif

对于每个标签(或帖子),最简洁的方法是什么(使用LINQ to SQL)来显示分配给它的帖子(或标签)的总数?

谢谢!

【问题讨论】:

    标签: linq-to-sql many-to-many aggregate


    【解决方案1】:
     from pta in db.PostTagAssoc
     group pta by pta.PostID into t
     select new {PostID = t.Key, TagCount=t.Count()}
    

    【讨论】:

      【解决方案2】:

      这也会显示那些带有 0 标签的帖子,并且在我看来更清晰一些。

      from p in db.Post
      select new {PostID = p.ID, TagCount = t.PostTagAssoc.Count}
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-07
        • 2023-04-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多