SQL Server

SQL SERVER でリレーション張ることの恩恵

リレーションを張ることによってどんな恩恵がえられるかというと、
LINQを使ったときに効果が顕著になる。

var rst = from r in ent.SalesOrderDetail
select r;

このLINQ文だけで、

以下のSQLと同等の結果が得られる。

SELECT *
FROM SalesOrderDetail INNER JOIN
Product ON SalesOrderDetail.ProductID = Product.ProductID

これだけだと大した違いに感じないかもしれないが、以下を考えれば違いがわかるかも。

リレーションが増えれば増えるほど、
SQL文は複雑になるが、
LINQ文は変わらない。

JOINすべきテーブルを
LINQがリレーションをもとに自動でデータを取得してくれるのだ。
もう複雑なJOINに頭を悩ませなくても済む。

と、いう事にいまさらながら気づいて、
もっと早くこういう事に気づいておけばという、
今日の反省でした。

↓の画像は

↑のプログラムの結果。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です