3

我在我的数据库中有一个表[用户]和另一个表[销售人员]。 [销售人员]定义了一个唯一的用户标识,它使用外键映射到[用户] .UserID。当我使用实体框架生成模型时,我在[用户] - [销售人员]之间获得了一对多关系,这意味着每个用户都有一个“销售人员集合”,但我想要的是一个0..1-to -1关系,其中每个用户对“销售人员”具有可空的引用。实体框架 - 更改关系多重性

我试着摆弄XML并更改关联的多重设置,但这只会产生构建错误。我试图实现的和在[User]中有一个可以为空的SalespersonID并没有什么不同,它引用了[Salesperson] .SalespersonID,但是由于销售人员只对特定用户存在,所以感觉就像我只是混淆了我的[User]表结构让关系在Entity Framework中指向正确的方式。

我能做些什么来改变关系的多样性吗?

+0

你能提供一些更多的信息。什么ORM?你目前的配置是什么样的? – 2009-11-13 01:20:15

+0

我不确定你在问什么?我正在使用实体框架与MySQL数据库。你指的是什么“配置”? – 2009-11-13 01:21:42

+0

哦,对不起,我想当你说实体框架时,你使用的是一个对象关系映射器的通用术语。不是特定的产品。 – 2009-11-13 01:23:30

回答

2

使Salesperson本身成为FK的PK为User。 EF的GUI设计师将获得正确的基数,因为PK是唯一的。

+0

如果您愿意,可以将其称为SalespersonId,但由于FK Salesperson.SalespersonId == User.UserId,无论它是什么称呼。然后,GUI设计人员可以推断出正确的基数,数据库将执行该基数。 – 2009-11-14 01:41:32

+0

我还没有测试过,但是一旦我做了,我会标记答案(假设它有效!)。万分感谢。 :) – 2009-11-15 22:43:39

+0

重新生成之前是否存在关系?在新桌上尝试一下。这*确实为我们工作。另外,如果User.UserId不是PK,请使用PK。 EF的GUI设计师可能会看到PK而不是唯一的约束。 – 2009-11-16 17:01:31