Entity Framework 6.x 必须为所有键属性指定映射

Entity Framework 6.x Must specify mapping for all key properties

我开始使用 EF 6.x,但遇到了一个烦人的问题。

我设计了一个数据库,其中包含简单的用户、角色、权限表,每个表都通过经典的多对多关系相互关联。

EF 要我在间接表中创建主键(UserPermissions 等) 但也想让我为这些主键做一些映射,但我不知道为什么。

是我的设计有问题还是有解决方法? 也许我能以某种方式使用唯一索引而不是主键来满足 EF 吗?

这里 diagram 更清楚:

好吧,我很尴尬,我没有早点想出解决方案。

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

例如CONSTRAINT pk_IdRole_IdPermission_RolePermissions PRIMARY KEY (IdRole,IdPermission)

用户角色 PK用户名; PK RoleId

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

喜欢

Pk sno; FK 用户 ID; PK RoleId

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