假设我在Oracle DB中有以下3个表:
TABLE1:
Table1Id Field1 Field2 Field3
以Table1Id
作为主键,但Field1
也是唯一的,并且可以成为主键,即使它在我的数据库中没有这样定义。
表2:
Table2Id Field1 Field4 Field5
以Table2Id
为主键,Field1
与来自Field1
的{{1}}的值相匹配。
表3:
Table1
以Table3Id Table1Id Field6
为主键,Table3Id
与Table1Id
Table1Id
的值相匹配。
所以,我创建了一个实体框架5 DB-first模型(不能做EF 6,因为看起来该版本中还没有支持Oracle模型)并且能够轻松地创建之间的关联Table1
和Table3
,但现在我想在Table1
和Table2
之间建立关联。
我发现如果我在Table1
中添加Field1
作为主键(必须通过编辑EDMX文件的XML来实现,因为我只是使用GUI获得错误),然后我在设置关联时出现问题,因为现在有2个主键,它希望我将两者都映射到Table1
中的字段。如果我从Table2
>离开关联Table1
为空,仅填写Table1Id
>的关联Table1
至Field1
> Table2
,我得到了111 Error。
我对实体框架仍然很陌生......我希望我能很好地解释我的问题,但我不知道如何克服这个问题......我已经看到了一些答案,说它无法解决可以在EF4中完成,但在更高版本中是否有办法?
任何帮助(请记住我是EF新手!!)真的很感激!!