定义具有多对多关系的两个实体之间的关系

时间:2016-08-03 18:05:09

标签: mysql database entity-framework

我有两个实体,即users表和project表,下面是具有哪些属性或列

用户表

Col1:uid (primary key)

项目表

Col_1:projectId (primary key)

Col_2:uid (references users table)

关系是用户可以拥有许多项目,而项目属于单个用户。

现在我想在用户之间添加共享项目的功能,例如用户可以与多个用户共享多个项目。

在数据库中执行此操作的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

应该通过添加第三个表来建模多对多关系。

<强> ProjectUsers

Col1: uid
Col2: projectId
primary key over the pair of columns: (uid, projectId)

这样,您可以为给定用户添加多行,这意味着用户可以处理多个项目。

同样,给定项目的多行,意味着项目在多个用户之间共享。