Linq オブジェクト リレーショナル (O/R) マッパーで 2 つのテーブル間に線をドラッグします。
Order Customer
-------------- ---------------
| OrderID | | CustomerID |
| CustomerID |♦---------˃| ... |
| | | |
-------------- ---------------
注:または、おそらくそうでした
Order Customer
-------------- ---------------
| OrderID | | CustomerID |
| CustomerID |˂---------♦| ... |
| ... | | |
-------------- ---------------
わからない; 両方向にドラッグできます。
- 最初の質問です。矢じりは何ですか。ひし形は何ですか。
2 番目の図を想定すると、 のカーディナリティはAssociation
として作成されましたOneToMany
。これは理にかなっています。
- 一人の顧客
- 注文が多い
しかし、私を混乱させるのはAssociation.Unique
(ブール) プロパティです。デフォルトはfalse
です。OneToManyアソシエーションであるため、これは理にかなっています。Order.CustomerID
一意にすることはできません。それ以外の場合はOneToMany関連付けではなく、OneToOneになります。
しかし、OneToMany Unique プロパティをtrueに変更することは許可されています。Unique
これは意味がないので、ネスは には適用されずOrder.CustomerID
、 に適用されると結論付けますCustomer.CustomerID
。しかし、図はすでに主キーCustomer.CustomerID
であることを示しています。もちろん、それは一意であり、主キーです。
しかし、Unique
プロパティは設定されていません。Unique
これは意味がないので、ネスはどちらのテーブルも意味しないと結論付けます。
2番目の質問、どういう
Unique
意味ですか?外部ターゲット列に一意性制約があるかどうかを指定します
第 3 の質問:親と子とは何ですか?
もう一度、2 番目の図を仮定します。
Customers.CustomerID ♦------------> Orders.CustomerID
私はCustomers
テーブルを親にします。それは、顧客であることの意味を所有する人です。顧客について何かを変えたいと思ったら、親のところに行きます。
一方、子Orders
テーブルがやってきて、 を参照したいと考えていますCustomer
。
Parent(diamond) Child(arrowhead)
==================== =================
Customers.CustomerID (PK) ♦------------> Orders.CustomerID (FK)
ただし、関連付けの親と子のプロパティを見ると、次のようになります。
子プロパティ
Name
:Orders
親財産
Name
:Customer
彼らは、 「子」にと呼ばれるプロパティを作成したいと考えていますOrders
。ダメダメダメ。子供は注文です。そして、 という名前の親にプロパティを追加したいと考えていますCustomer
。ダメダメダメ。親はお客様です。
つまり、私はそれを逆にする必要があり、親と子という用語は私が考えていたものとは正反対です:
Child(diamond) Parent(arrowhead)
==================== =================
Customers.CustomerID (PK) ♦------------> Orders.CustomerID (FK)
そして、この時までに、私は自分の頭脳を吹き飛ばしたいと思っています。代わりに、Stackoverflow で質問を作成するのに 35 分を費やします。コンピューターに向かって叫び続けるのではなく。
ヘルプ。