![]() |
1
4
虽然我不太确定您将要实现什么,但是根据您作为表字段给出的内容,我认为与表本身的一对多关系更合适。
如果您希望子任务具有多个父任务,请忘记我说过的话。也就是说,可以对某个问题做出一个或多个答案,但不能反过来。 编辑: 我想您将拥有另一个表“aspnet owneruser”,其中包含一些用户信息。如果是这样的话,请看下面的SQL。否则,忘记它。;)
P.S.以上SQL是为PostgreSQL编写的,其他DBMS请随意修改。 |
![]() |
2
3
交叉点(交叉点)表的编码与您期望的差不多,只是有两个外键指向同一个表。
编辑 打好之后,我想询问一下您的数据模型。我可以看到一个任务可以拥有许多子任务,但我不确定子任务如何属于许多主任务。你确定你不是真的想要一对多的关系吗? 编辑2 当我写这个编辑的时候,我看到你编辑了你的问题来回答这一点。
|
![]() |
3
2
如果你的类比就像一个问题和答案,那么这不是一个多对多的关系,而是一对多的关系。一个问题可能有几个答案,但一个答案属于一个且只有一个问题。最简单的映射方法是: 表任务
然后从中创建自引用外键约束
假设出于某种原因,您确实需要m:m映射。这需要使用一个映射表来完成;自引用m:m与包含两个表的m:m没有什么不同: 表任务
表-子任务
对两者都设置外键约束
|
![]() |
4
1
你可以对很多人这样做,但实际上更像是 nested set . |
![]() |
rborum · 使用IF/CASE语句排序为列(AS) 7 年前 |
![]() |
SouthBeach · 对象框到任意列表 7 年前 |
![]() |
slickness · 一对多保存,无需创建 7 年前 |
![]() |
PaFi · 一对多关系核心数据获取数据 7 年前 |
![]() |
stilllife · Symfony 3多通关系空相关集合 7 年前 |
![]() |
Joe · EF6一对多Fluent映射 7 年前 |