115 我从数据库中生成了一个实体框架模型(4.0)。我没有设计数据库,也没有对架构的任何控制,但是有一些表没有定义外键约束,但是定义了隐式关系。 例如: 我有一个名为People的表,该表具有以下列:GenderID RaceID 有“性别”和“种族”表,但“人”表中没有外键。 当我导入模型时,它没有为这些关系添加导航属性。我尝试手动添加它,但是“从角色”和“到角色”被禁用。我不确定如何自己添加关系。我该怎么做呢? c# entity-framework entity-framework-4 navigation-properties — 解雇 source
181 是的-这不是那么简单。 这是您的工作: 1-右键单击设计器,然后单击添加 -> 关联 2-设置关联和基数(人* .. 1性别,人* .. 1种族) 3-进入模型浏览器 -> 关联 4-右键单击新创建的关联,然后单击“ 属性”。 5-在这里,您需要为关键和级联选项设置端点。确保正确获得端点。您还可以在此处为隐式导航属性设置引用约束。 6-将导航属性映射到相关的表/字段。 7-验证模型,用力指尖。 希望这可以帮助。 — 转速1984 source 20 +1用于保存我的头发剩下的东西。我将添加#6,这需要更改关联的属性页中的外键列,即“参照约束”设置。点击[...]打开参照约束对话框,然后更改设计者插入到“依赖属性”下的子表中的虚拟字段。 — 乔尔·布朗 8 您还必须转到子表的属性,并删除设计者添加的虚拟字段(该虚拟字段不会映射到子表中的任何实际字段)。 — 乔尔·布朗 2 在使用View的情况下,还请确保正确使用主键定义(右键单击选择相关字段,在属性中将其标记为EntityKey)。否则,您可能会收到“关系中的角色多重性无效,因为从属角色指的是关键属性...” — Mikl X 2015年 1 在#2上,您可能要确保取消选中“将外键属性添加到实体”复选框。如果您真的不需要它,那会带来一些不必要的麻烦。 — 加密 一旦再次从数据库更新模型,脚手架实体将保持手动添加的关联? — voodoo_patch
45 我碰到了这篇博客文章,其中提出了以下解决方案,该解决方案对我来说非常有效(不幸的是,我无法让RPM1984在我的情况下正常工作)。 通过设计器背景右键单击上下文菜单添加关联 设置您的协会(确保取消选中外键的创建) 右键单击关联,然后选择属性 单击“ ...引用约束” 按钮 设置内部按键之间的关系 验证(从设计器上下文菜单中) ??? 利润! — dav_i source 4 +1点4让我做对了,但RPM194答案却忽略了它。 — 雨果·洛格曼斯