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
我开始使用 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