【问题标题】:LINQ Query - Where has child itemsLINQ 查询 - 哪里有子项
【发布时间】:2013-07-22 20:40:48
【问题描述】:

我将实体框架与关系 SQL 数据库一起使用。例如,假设我有两个表:

Customers
Invoices

客户与发票是一对多的关系,但并非每个客户都有发票。

我想做一个查询,以获取至少有一张发票的任何客户。喜欢:

Dim queryCustomersWithInvoices = From rows in context.customers
                                 Where rows.has(Invoices)

Where 语句有问题,语法错误,只是表达我的意图。

【问题讨论】:

    标签: vb.net linq entity-framework


    【解决方案1】:

    假设您在客户上有一个 Invoices 属性...

    Where rows.Invoices.Any()
    

    应该可以。

    【讨论】:

      【解决方案2】:

      你可以:

      1. 使用 .Any(),'where exists' 的 linq 版本。在这里解释:Exists query with LINQ
      2. 写类似where rows.Invoices.Count > 0

      第一个解决方案可能更快,因为我认为它不需要实际计算发票。

      【讨论】:

        【解决方案3】:

        如果发票是客户的财产,您还应该能够计算发票。

        Dim queryCustomersWithInvoices = From rows in context.customers
                                     Where rows.Invoices.Count() >=1
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-09-01
          • 1970-01-01
          • 2017-03-23
          • 1970-01-01
          • 1970-01-01
          • 2019-06-02
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多