EF Code First链接表有3个外键

时间:2013-08-24 20:34:57

标签: entity-framework entity-framework-4

在我的模型中,我有一个User表,Role表和Organization表。 用户可以独立拥有更多组织的角色。 到目前为止,我在任何教程中都看到链接表有两个外键(左,右),但在我的情况下,我需要一个链接表,其中有User-ID,Role-ID,Organization-ID字段作为外键和primary钥匙也是。

一些例子:

user   role       organization
===    ====       ============
u1     admin      orga1
u1     admin      orga12
u1     reviewer   orga3
u2     editor     orga1

提前致谢!

1 个答案:

答案 0 :(得分:0)

我认为你真正想要的是像用户表和OrgRole表。然后,您需要一个连接它们的联合表User_OrgRole。您可能希望在表上放置约束以确保组织和角色是唯一的。

OrgRole可能如下所示:

  • OrgRoleID [KEY]
  • Org [FKey]
  • 角色[FKey]

User_OrgRole可能如下所示:

  • UserID [Key]
  • OrgRoleID [Key]

您当然可以手动执行3向连接,但是您将无法创建任何多对多样式的导航属性或关系。相反,你创造的数量相当于3比1。