テーブルを複数のテーブルに結合するにはどうすればいいですか?このようなものは、我々は簡単に、あなたはちょうどあなたがSQLでやるだろうと同じように参加するスタック、EF4 2つ以上のテーブルにテーブルを結合する方法
3
A
答えて
2
一般的に、事前にSQL
SELECT p.* FROM Person.BusinessEntity AS e
INNER JOIN Person.Person AS p ON e.BusinessEntityID = p.BusinessEntityID
AND e.BusinessEntityID = p.BusinessEntityID INNER JOIN Person.BusinessEntityContact AS b
ON e.BusinessEntityID = b.BusinessEntityID AND p.BusinessEntityID = b.PersonID
おかげで行うことができます。元の質問が少し明確になっていることがわかりました。コンポジットキー結合は、コンポジットキーとのスタッキングジョインの組み合わせになるため、必要になりそうです。 Gary.Sは、元の質問に対する彼のコメントの複合キー部分の正しい構文を指摘しましたが、ここでは同じ複合キーの選択を含むように答えています。通常のためにあなたが
join … in … on … equals …
を使用し、複合キーのためにあなたが両方のエンティティからすべてのキー列を含むように匿名型を使用して参加します。ここで
あなたはまた、あなたはLINQで左外部結合を行うために必要なGroupJoin、見てする必要があるかもしれませんvar items = from e in Person.BusinessEntity
join p in Person.Person on
e.BusinessEntityID equals p.BusinessEntityID
join b in Person.BusinessEntityContact on
new {e.BusinessEntityID, p.BusinessEntityID} equals
new { b.BusinessEntityID, b.PersonID}
select p;
探しているものであるべきである例です。ほとんどの例良い例が101 samples page
1
思考の学校はあなたのエンティティフレームワークモデルを作成した場合、正しく、あなたはshouldnことがあるで発見することができます
join … in … on … equals … into …
:
グループは次のようになります参加しますあなたのクエリでは、結合を全く使わなくてはなりません。すべてのご加入は、実際にはおそらく、ナビゲーションプロパティ(私は、クエリからのPersonスキーマを取り出しました)すなわち
BusinessEntity.Person.Where(x => x == yourID)
またはより明確に
Entity1.Entity2.Where(x => x == yourID)
なく、私のオリジナルのアイデアでなければなりません - ジュリー・ラーマンはそれで言います彼女EF book
関連する問題
- 1. テーブルのX行以上の2つのテーブルに結合する
- 2. 2つのテーブルを接合テーブルに結合する方法
- 3. 2つ以上のMicrosoft Accessテーブルを1つのテーブルに結合する方法はありますか?
- 4. 2つのテーブルを別のテーブルに結合する方法
- 5. 4つ以上のテーブルの結合
- 6. php innerは2つ以上のテーブルを結合します
- 7. Djangoモデルと2つ以上のテーブルを結合したSELECT?
- 8. テーブルを2つのテーブルの結合に結合しますか?
- 9. SQL 2つのテーブルを1つに結合する方法
- 10. 2つのFKを1つのテーブルに結合するテーブル
- 11. mysqlで2つ以上のテーブルを組み合わせてカウントする方法
- 12. 2つ以上のヘッダー値を結合する方法(angular2ヘッダー)
- 13. 2つのテーブルに結合するLaravel
- 14. 2つ以上の他のテーブルの列データを結合するSQLを使用してテーブルを作成
- 15. 2つの列に2つのMySQLテーブルを結合する方法?
- 16. ON句のない2つのテーブルを結合する方法
- 17. 同じテーブルの2つのクエリを結合する方法
- 18. 差分テーブルの2つのクエリを結合する方法
- 19. django querysetのキーで2つのテーブルを結合する方法
- 20. 2つのテーブルを結合するクエリ
- 21. MySQL 2つのテーブルを結合する
- 22. 2つのテーブルを結合するクエリ
- 23. 2つのテーブルを結合するレール
- 24. 2つのExcelテーブルを結合する
- 25. クエリで2つのテーブルを結合する方法は?
- 26. crystalReportで2つのテーブルを結合する方法は?
- 27. SQL ServerでCASTと2つのテーブルを結合する方法
- 28. 2つのテーブルを結合し、ハイバネートで反復する方法
- 29. 2つのテーブルを最適な方法で結合する
- 30. 条件なしで2つのテーブルを結合する方法
が、このページの最後の例を参照してください:http://msdn.microsoft.com/en-us/library/bb896266.aspx – kol
はい、それは2つのテーブル間の結合をする方法を示し、およびMSDNにも例が2に参加すること他の1つのテーブルにのみ表示されます。 "INNER JOIN Person.BusinessEntityContact AS b ON e.BusinessEntityID = b.BusinessEntityID AND p.BusinessEntityID = b.PersonID"のような他の2つのテーブルと結合する必要があります。 – Bhuvan
この回答を見る:http://stackoverflow.com/questions/1264993/linq-left-join-on-multiple-or-conditionsであるか、基本的には新しいオブジェクトを比較のために使用する '新しいPerson.BusinessEntityContactのPerson.BusinessEntityContactのjoin bはnew {e.BusinessEntityID、p.BusinessEntityID} = new {b.BusinessEntityID 、b.PersonID} ' –