相关文章推荐
严肃的皮蛋  ·  sql like 多个值 - CSDN文库·  2 周前    · 
发财的山寨机  ·  高级查询 · ...·  2 周前    · 
健壮的大象  ·  sql server ...·  2 周前    · 
谦和的皮带  ·  datagrip连接sql ...·  5 天前    · 
体贴的水煮肉  ·  页面未找到 - 七牛云·  11 月前    · 

在SQL Server中实现一对一或一对多的关系

14 人关注

我正在使用Entity Framework 4.1数据库优先的方法。我使用了传统的数据库。在我的edmx文件中,基于遗留数据库中的表创建了实体类,一些实体之间存在一对一 或零对一的 关联。

虽然我探索了数据库的表和它们之间的关系,但我没有发现一对 一或一对二 的关系是如何在数据库中实现的。

为了获得更多信息,我在edmx文件中放了一些我的数据库图和它的关系和对应实体的属性的截图。

sql-server
sql-server-2008
entity-framework-4.1
entity-relationship
relation
Mostafa
Mostafa
发布于 2011-10-04
2 个回答
Ladislav Mrnka
Ladislav Mrnka
发布于 2017-05-23
已采纳
0 人赞同

你数据库中的1-0...1关系是直接可见的。它建立在Course和OnlineCourse表之间,其中Course是关系(1)中的主体,而OnlineCourse与配置在CourseID上的FK相关。FK也是OnlineCourse的PK = 它必须是唯一的,因此它是0...1。

数据库 "总是 "使用1 - 0...1,因为真实的1 - 1不能有效地用于数据插入。1 - 1意味着左必须在右之后插入,但右必须在左之后插入=不可能。正因为如此,1 - 0...1被用于左为主,必须在右之前插入,右为从属,必须在左之后插入。