实体框架6.x必须指定所有关键属性的映射

时间:2016-06-22 15:07:20

标签: entity-framework tsql many-to-many edmx

我开始玩EF 6.x而且我有一个恼人的问题。

我设计了一个数据库,其中包含简单的用户,角色,权限表,每个表都与经典的多对多关系绑定到另一个表。

EF希望我在间接表中创建主键(UserPermissions等) 但是也希望我为那些主键制作一些映射,但我不知道为什么。

我的设计是否有问题或是否有针对此问题的解决方法? 也许我能以某种方式使用Unique索引而不是主键来满足EF吗?

你有diagram使其更清晰:

enter image description here

2 个答案:

答案 0 :(得分:0)

嗯,我很尴尬,我早些时候没有找到解决方案。

刚刚在通过外键引用直接表的列上添加了多列主键。

e.g。 CONSTRAINT pk_IdRole_IdPermission_RolePermissions PRIMARY KEY (IdRole,IdPermission)

答案 1 :(得分:-1)

UserRoles PK UserId; PK RoleId

两个主键不允许edmx file.so在该表中创建sno列,并将其作为主键。删除UserId和RoleId的pk。 现在在这两列中没有可用的主键。

喜欢

Pk sno; FK用户ID; PK RoleId

使用用户和角色表作为外键映射Useid和RoleId enter image description here