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

时间:2009-08-16 07:13:00

标签: .net entity-framework

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

最糟糕的是,我可以跳过FK约束,但想知道如何使用和填充标准或自定义组合框,以便员工表单在编辑时仍然可以选择主管。

1 个答案:

答案 0 :(得分:2)

如果不将“外键”添加到数据库中,则无法将“外键”添加到实体模型中 - FK是一个链接到表的数据库设计构造,因此必须将其添加到存储模型中( EF中的物理数据库模型 - 但必须是实际数据库中存在的1:1。

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

alt text

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

alt text

通过这种方式,您应该能够在EF模型的概念方面添加关联以及实体之间的关系,而无需触及底层数据库架构。

马克