【问题标题】:Count child record and show zero if empty计算子记录,如果为空则显示零
【发布时间】:2011-09-28 00:21:47
【问题描述】:

我对 C# 和 VB.NET 都很好

我有两张桌子。作者和书籍。这是一对多的关系,作者与书籍。我正在编写一个查询来显示每个作者拥有多少本书。

我写了以下查询:

Dim query = From oa In db.Authors _
         Group oa By oa.Book Into grouping = Group _
         Select Author = Book, Count = grouping.Count(Function(s) s.AuthorId)

此查询将给出以下结果:

             - Author A : 2 books
             - Author B : 3 books
             - Author C: 1 book

但是在 Authors 表中,有一些作者还没有任何书籍。例如,有两位作者,作者 D 和作者 E 还没有书。

我想编写包含所有作者和书籍数量的查询,即使他们还没有任何书籍,Books 表中还没有记录。

我想得到这样的东西:

             - Author A : 2 books
             - Author B : 3 books
             - Author C: 1 book
             - Author D: 0 book
             - Author E: 0 book

谢谢。

【问题讨论】:

标签: c# vb.net linq linq-to-sql


【解决方案1】:

分组有什么原因吗?这不行吗?

db.Authors.Select(a => new { Author, BookCount = a.Books.Count });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-23
    • 2017-05-03
    • 2021-06-28
    • 1970-01-01
    • 2016-03-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多