118

我从我的数据库生成了一个实体框架模型(4.0)。我没有设计数据库,也没有对架构进行任何控制,但是有一些表没有定义外键约束,但是定义了隐式关系。

例如:

我有一个名为 People 的表,其中包含以下列: GenderID RaceID

Gender 和 Race 都有表,但 People 表中没有外键。

当我导入模型时,它没有为这些关系添加导航属性。我尝试手动添加它,但 From Role 和 To Role 被禁用。我不确定如何自己添加关系。我该怎么做呢?

4

2 回答 2

187

是的 - 这不是那么简单。

这是你要做的:

1 - 右键单击​​设计器,添加->关联

2 - 设置关联和基数(人 *..1 性别,人 *..1 种族)

3 - 进入模型浏览器->关联

4 - 右键单击​​新创建的关联,单击属性

5 - 在这里您需要设置关键和级联选项的端点。确保你得到正确的端点。您还可以在此处为您的隐式导航属性设置参考约束。

6 - 将导航属性映射到相关表/字段。

7 - 验证您的模型,交叉手指。

希望这可以帮助。

于 2010-12-16T22:20:53.520 回答
47

我遇到了这篇博客文章,它提出了以下解决方案,这对我很有用(不幸的是,我无法让 RPM1984 在我的情况下工作)。

  1. 通过设计器背景右键单击上下文菜单添加关联
  2. 设置您的关联(请务必取消选中外键的创建)
  3. 右键单击关联并选择属性
  4. 单击...参考约束按钮
  5. 设置内键之间的关系
  6. 验证(来自设计器上下文菜单)
  7. ???
  8. 利润!
于 2014-01-30T11:38:34.510 回答