我药物在LINQ的两个表之间的线对象关系(O / R)映射器:
Order Customer
-------------- ---------------
| OrderID | | CustomerID |
| CustomerID |♦---------˃| ... |
| | | |
-------------- ---------------
注:也许这是
Order Customer
-------------- ---------------
| OrderID | | CustomerID |
| CustomerID |˂---------♦| ... |
| ... | | |
-------------- ---------------
我不确定; 它让我拖两种方式。
- 第一个问题,什么是箭头,什么是钻石?
假设第二图中,的基数 Association
被创建为OneToMany
。 这是有道理的,因为:
- 一个客户
- 有许多订单
但是,让我困惑的是Association.Unique
(布尔)属性。 它默认为false
。 这是有道理的,因为它是一个一对多的关联。 Order.CustomerID
不能是唯一的,否则它不会是一个一对多的关联,这将是OneToOne。
但后来我被允许到一对多的独特属性更改为true。 这是没有意义的,所以我的结论是Unique
内斯并不适用于Order.CustomerID
,而是要Customer.CustomerID
。 但图已经表明Customer.CustomerID
是主键 。 当然,这是独一无二的,它是一个主键。
但Unique
属性未设置。 这是没有意义的,所以我的结论是Unique
内斯并不意味着任何一个表。
第二个问题,有什么
Unique
是什么意思?指定的外国目标列是否具有唯一性约束
第三个问题:什么是家长和孩子 ?
假设,再次,第二图:
Customers.CustomerID ♦------------> Orders.CustomerID
我把Customers
表是父。 这是谁拥有这意味着什么是客户的一个。 你想改变客户的东西,你走父。
同时,子Orders
表走来,想引用一个Customer
。
Parent(diamond) Child(arrowhead)
==================== =================
Customers.CustomerID (PK) ♦------------> Orders.CustomerID (FK)
除了当我看到联想的父母与子女的属性:
Child属性
-
Name
:Orders
parent属性
-
Name
:Customer
他们想在“孩子”叫创建属性Orders
。 不不不。 孩子是订单。 而且,他们希望将属性添加到称为父Customer
。 不不不。 父是客户。
这意味着我必须有它向后,且术语父母和孩子是我想象的完全相反:
Child(diamond) Parent(arrowhead)
==================== =================
Customers.CustomerID (PK) ♦------------> Orders.CustomerID (FK)
而到这个时候,我希望把我的头出来; 而是花35分钟创作#2问题; 而不是继续在我的电脑尖叫。
救命。