实现N:N,也就是多对多有两种方式,一种是OOB开箱即用的方式,一种是需要创建一个中间实体对两边的实体进行映射的方法:
- 使用系统自带的开箱即用的方式
首先我们创建两个实体,一个EntityA, 一个EntityB,然后“New Many-to-Many Relationship”创建一个与EntityB多对多的关系:
创建完成后我们在EntityA和EntityB中的‘N:N Relationships’中都可以看到:
然后我们对这两个实体的Main form做一些修改:
我们在EnityA中将EntityB拖拽到左侧的导航栏中(点击上方的Navigation按钮即可让左侧变成可编辑)
同样的我们在EnityB中将EntityA拖拽到左侧的导航栏中
然后我们在EntityB中创建几条记录,比如test1,test2
然后我们再点进EntityA中的某一条记录,例如123这条记录,点击Related中的EntityB
我们就会进入到关联视图,点击"Add Existing EntityB"
在右侧弹出的侧边栏中我们可以选择已有的记录与123这条记录进行关联,
也可以点击"+ New Record"来跳转到EntityB中去创建一条新的记录,创建完成后我们可以重复上上面的步骤去添加已有的记录来进行关联
关联完成后:
同样,对于EntityB,我们也可以进行同样的操作来进行关联。
以上就是使用开箱即用的方法来实现多对多的关系。
- 创建中间实体来实现多对多的关联
现在我们来创建一个中间实体‘EntityAEntityB’来实现多对多的关系
然后我们在这个新的实体下面为EntityA创建一个N:1 Relationship,
同样我们在这个新的实体下面为EntityB创建一个N:1 Relationship
之后在N:1 Relationship中你可以看到你创建的这两个关系
我们在‘EntityAEntityB’的Main Form中添加刚刚创建的两个关系的字段, save & publish
这样我们通过中间实体来实现多对多的关系就创建好了。
下面我们使用一些数据来测试一下:
EntityA中创建一些数据:
EntityB中创建一些数据:
在 EntityAEntityB中创建关联:
创建完成后: