【发布时间】:2017-03-01 16:18:18
【问题描述】:
我有三个表:
- 教师
- PK:
A_pk
- PK:
- 学生
PK: B_pk
- 发布
PK: C_pkFK: A_pkFK: B_pk
我有一个网站页面,用户可以在其中撰写不同的帖子。
当教师在该组中发帖时,我会将数据插入到Post 表中,如下所示:
A_pk = teacherNameC_pk = Post_text
当学生在该组中发帖时,我会将数据插入到Post 表中,如下所示:
B_pk = studentNameC_pk = Post_text.
原因是我想记录哪些用户在我的组中发布了数据。
现在的问题是如何在 Post 表中插入记录?
【问题讨论】:
-
禁用 FK 不是一个好习惯,因此您必须先在表 A 和表 B 上插入缺少的 PK,然后再插入表 C。没有办法解决这个问题。也许我们可以帮助您设计桌子?如果您(或某人)在 C 中强制使用 FK 约束,为什么您没有表 A 和 B 的值?
-
为什么要插入没有对应主键的外键?
-
我更新了我的帖子。请再读一遍
-
据我了解。你可以有可为空的 FK。所以当你为学生插入时,A_PK 可以为空,反之亦然。
标签: asp.net sql-server entity-framework sql-server-2014