如何在不将实例模型添加到数据库的情况下向实体模型添加FK约束?

问题描述 投票:1回答:1

我有一个包含表Employees的Entity Framework模型。每个员工都有一个SupervisorId,它指向同一Employees表中的另一个记录。从我的数据库设计中推断的实体模型VS看起来很好,但我无法使用自引用更新或插入表的记录。我已经开始使用Employees表的视图作为Supervisors表,但我不能将FK约束添加到数据库中的视图。我怎样才能在EF设计师中做到这一点,或达到同样的效果?

在最坏的情况下,我可以跳过FK约束,但想知道如何使用和填充标准或自定义组合框,以便Employee表单在编辑时仍然提供主管选择。

.net entity-framework
1个回答
2
投票

您不能在不将数据添加到数据库的情况下向实体模型添加“外键” - FK是一个链接到表的数据库设计构造,因此必须添加到存储模型(物理数据库模型)在EF中 - 但必须是1:1的实际数据库中存在的内容。

但你可以做的是为你的概念模型添加一个关联;这是事物的一面,不是1:1与数据库绑定,而是代表您的域模型。您可以通过右键单击EDMX设计器中的实体并从上下文菜单中选择“添加关联”来添加此项。

alt text

这将弹出一个“添加关联”对话框,您可以在其中选择要链接的两个实体,以及如何:

alt text

有了这个,您应该能够在EF模型的概念方面添加关联,从而添加实体之间的关系,而无需触及底层数据库模式。

© www.soinside.com 2019 - 2024. All rights reserved.