2

多対多の関係を持つ2つのテーブルBillとProductを考えてみましょう。 Entity Sqlを使用して特定の製品の請求書をすべて取得するにはどうすればよいですか?多対多関係のエンティティSql

答えて

0

このようなlinqを使用する必要があります。

... 
using (YourEntities ye = new YourEntities()) 
{ 
    Product myProduct = ye.Product.First(p => p.ProductId = idParameter); 
    var bills = myProduct.Bill.Load();  
} 
... 

これは、データのモデルを作成するためにentitiyフレームワークを使用したことを前提としています。 bills変数には、製品オブジェクトに関連するBillオブジェクトのコレクションが格納されます。

希望します。

SELECT P, (SELECT B FROM P.Bills) 
FROM [Container].Products AS P 
WHERE P.ProductID == 1 

一致する各製品の行を生成します(中:この

SELECT B FROM [Container].Products as P 
OUTER APPLY P.Bills AS B 
WHERE P.ProductID == 1 

よう

3

何かが別のオプションは、このようなもので、各ビル

の行を生成しますこの場合はただ1つ) であり、行の2番目の列にはその製品の請求書を含むネストされた結果セットが含まれます。

希望これは

アレックス

+0

アレックスを助け、私はあなたに感謝したいです。 OUTER APPLYは、多対多のジョイン(ナビゲーション・プロパティ)の左外部ジョインに関連する異なるEntity SQLの問題を解決するために私が探していたキーでした。ありがとうございました。 – CkH