【发布时间】:2015-03-17 01:32:04
【问题描述】:
在数据库级别处理一对一关系时,我们(我?)通常最终会实现实际上是一对多的关系。
例如:
CREATE TABLE master (masterId INT PRIMARY KEY)
和
CREATE TABLE child (
childId INT PRIMARY KEY,
masterId INT,
CONSTRAINT child_master_fk FOREIGN KEY (masterId) REFERENCES master (masterId))
虽然单个child 只能引用单个master,但没有什么可以阻止多个childs 引用相同的master,从而形成一对多关系。
从这样的数据库设置生成实体数据模型时,这反映在主实体将包含对子实体的引用,但子实体将具有主实体集合。
由于我在逻辑上将关系视为一对一,所以我从不期望孩子的主集合包含多个元素;因此,我希望子实体有一个主引用而不是一个集合。
实现此目的的正确方法是什么?在数据库级别创建双向外键约束?调整生成的模型?
【问题讨论】:
标签: entity-framework database-design one-to-one