具有密钥(PK)的实体将不会往返

bic*_*cle 2 c# entity-framework

我有两个表:<subjects><prerequisites>。先决条件表的主键是复合键:pr_subject_idpr_prerequisite_subject_id。它们都是<subjects>表中的外键。我可以在关联中映射 pr_subject_id,但无法映射回程 ( pr_prerequisite_subject_id)。参见图片。我应该如何解决这个问题?

注意:当我在 sql server 中进行关联时,一切都很好,但是当我在实体框架中加载数据库时,实体框架由于此回程关联而删除了先决条件表。

在此输入图像描述

在此输入图像描述

bic*_*cle 5

我环顾四周,但我认为这是实体框架的常见问题。我在这里找到了两个解决方法。基本上我所做的是添加第三列 er_id 并让它成为主键。然后为了强制不存在其他两列的重复,我添加了一个唯一约束。