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に頭を悩ませなくても済む。
と、いう事にいまさらながら気づいて、
もっと早くこういう事に気づいておけばという、
今日の反省でした。
↓の画像は