[解決済み] LINQでInclude()は何をするのですか?
2022-03-12 02:27:46
質問
いろいろ調べてみたのですが、私はどちらかというとdb派なので、MSDNにある説明でも全く意味がわかりません。どなたか説明と例を示してください。
Include()
文は
SQL
クエリ?
解決方法は?
例えば、全顧客のリストを取得したい場合を考えてみましょう。
var customers = context.Customers.ToList();
そして、それぞれの
Customer
オブジェクトは、そのセットへの参照を持つ
Orders
であり、各
Order
への参照があります。
LineItems
を参照することもあります。
Product
.
このように、多くの関連エンティティを持つトップレベルのオブジェクトを選択すると、多くのソースからデータを取り込む必要があるクエリになる可能性があります。 パフォーマンスの指標として
Include()
では、どの関連エンティティを同じクエリの一部としてデータベースから読み込むべきかを指定できます。
同じ例で言うと、関連する注文ヘッダはすべて取り込むが、その他のレコードは一切取り込まないということです。
var customersWithOrderDetail = context.Customers.Include("Orders").ToList();
SQLを求められたので最後のポイントとして、最初のステートメントで
Include()
は、シンプルなステートメントを生成することができました。
SELECT * FROM Customers;
を呼び出す最後のステートメントです。
Include("Orders")
は次のようになります。
SELECT *
FROM Customers JOIN Orders ON Customers.Id = Orders.CustomerId;
関連
-
[解決済み] LINQで複数の "order by "を使用する
-
[解決済み] MySQLの複数行を1つのフィールドに連結することはできますか?
-
[解決済み] LINQのGroup by
-
[解決済み] DataTableに対するLINQクエリ
-
[解決済み] カラム名の変更 SQL Server 2008
-
[解決済み] DISTINCTでCOUNT(*)を選択する
-
[解決済み] 別のテーブルに一致する項目がない行を選択するにはどうすればよいですか?
-
[解決済み】「INNER JOIN」と「OUTER JOIN」の違いは何ですか?
-
[解決済み】Oracle「Partition By」キーワード
-
[解決済み】IEnumerable vs List - What to Use? どのように動作するのでしょうか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[エラー処理] [MySQL] [Err] 1241 - オペランドは 1 つのカラムを含む必要があります。
-
plsql-stored-procedure ORA-06550 エラー処理
-
executeQuery()ソリューションでデータ操作文を発行できない。
-
[解決済み] Oracleで上位100行を選択する方法は?
-
[解決済み] Oracleの全テーブルのリストを取得しますか?
-
[解決済み] SQLの複数列の順序付け
-
[解決済み] MySQLでFULL OUTER JOINを行うにはどうすればよいですか?
-
[解決済み] NOT IN vs NOT EXISTS
-
[解決済み] SQL Server 2008を使用してIDENTITY_INSERTをオン/オフする方法は?
-
[解決済み] T-SQL文の接頭辞Nの意味と使うべきタイミングは?