我从数据库生成了一个实体框架模型(4.0)。我没有设计过数据库,也无法控制架构,但有几个表没有定义外键约束,但是已经有了隐含的关系。
例如:
我有一个名为People的表,其中包含以下列: GenderID RaceID
有性别和种族的表,但People表中没有外键。
当我导入模型时,它没有为这些关系添加导航属性。我试图手动添加,但From Role和To Role都被禁用了。我不确定如何自己添加关系。我该怎么做?
我从数据库生成了一个实体框架模型(4.0)。我没有设计过数据库,也无法控制架构,但有几个表没有定义外键约束,但是已经有了隐含的关系。
例如:
我有一个名为People的表,其中包含以下列: GenderID RaceID
有性别和种族的表,但People表中没有外键。
当我导入模型时,它没有为这些关系添加导航属性。我试图手动添加,但From Role和To Role都被禁用了。我不确定如何自己添加关系。我该怎么做?
是的,这并不是那么简单。
以下是您需要执行的操作:
1 - 在设计器上右键单击,选择添加 -> 关联
2 - 设置关联和基数(People *..1 Gender,People *..1 Race)
3 - 进入模型浏览器 -> 关联
4 - 右键单击新创建的关联,点击属性
5 - 在此处,您需要设置密钥和级联选项的端点。确保正确设置了端点。您还可以在此处为隐式导航属性设置引用约束。
6 - 将导航属性映射到相关表/字段。
7 - 验证您的模型,并祈求好运。
我看到了这篇博客文章,提出了以下解决方案,对我非常有效(不幸的是,我无法在我的情况下使RPM1984的方法起作用)。