如何将一对多的可选关系转换为一对一需要关系代码?

时间:2013-07-08 15:32:35

标签: c# sql entity-framework

我有一个包含一对多关系的数据库是可选的。我想将这种关系转换为一对一的要求。例如,一条鱼需要有一个鱼缸存在,一旦鱼有一个鱼缸,其他鱼就没有鱼缸。但是没有一条鱼可以存在一个坦克。我想保留我的数据。我的问题是当我尝试更新数据库时;实体框架现在看到我有两个id是有意义的,因为外键将成为fish表的主键。我该如何解决这个问题?

我正在使用C#和SQL Server。

1 个答案:

答案 0 :(得分:0)

如果它真的是一对一的关系,最简单的处理方式就是将它们存储在同一个记录中:例如。

CREATE TABLE Tank
(
    tank_id    Int IDENTITY NOT NULL,
    fish_id    Int NULL
)

(没有鱼的坦克将具有NULL fish_id值)