1

リレーショナル SQL データベースで Entity Framework を使用しています。たとえば、2 つのテーブルがあるとします。

Customers
Invoices

顧客は請求書と 1 対多の関係にありますが、すべての顧客が請求書を持っているわけではありません。

少なくとも 1 つの請求書がある顧客を取得するクエリを実行したいと考えています。お気に入り:

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

ステートメントが問題です。Where構文が間違っています。それは私の意図を表現しているだけです。

4

3 に答える 3

2

顧客に Invoices プロパティがあるとします...

Where rows.Invoices.Any()

動作するはずです。

于 2013-07-22T12:32:07.420 に答える
1

あなたは出来る:

  1. 「where exists」の linq バージョンである .Any() を使用します。ここで説明: LINQ を使用した既存のクエリ
  2. のようなものを書くwhere rows.Invoices.Count > 0

最初の解決策は、実際に請求書を数える必要がないと思うので、おそらく高速です。

于 2013-07-22T12:38:30.220 に答える
0

請求書が顧客の所有物である場合は、請求書も数えることができるはずです。

Dim queryCustomersWithInvoices = From rows in context.customers
                             Where rows.Invoices.Count() >=1
于 2013-07-22T12:32:36.537 に答える