【问题标题】:Entity Framework 6.x Must specify mapping for all key propertiesEntity Framework 6.x 必须为所有关键属性指定映射
【发布时间】:2016-06-22 15:07:19
【问题描述】:

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

我设计了一个数据库,其中包含简单的 User、Role、Permissions 表,每个表通过经典的多对多关系相互绑定。

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

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

你有diagram 让它更清楚:

【问题讨论】:

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


    【解决方案1】:

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

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

    例如CONSTRAINT pk_IdRole_IdPermission_RolePermissions PRIMARY KEY (IdRole,IdPermission)

    【讨论】:

      【解决方案2】:

      用户角色 PK 用户 ID; PK RoleId

      两个主键不允许 edmx file.so 在该表中创建 sno 列并将其设为主键。去掉 UserId 和 RoleId 的 pk。 现在在那两列中没有可用的主键。

      喜欢

      PK sno; FK 用户 ID; PK RoleId

      使用 User 和 Role 表作为外键映射 Useid 和 RoleIdenter image description here

      【讨论】:

      • 你能把它翻译成英文吗?
      猜你喜欢
      • 2017-12-31
      • 1970-01-01
      • 2013-05-20
      • 1970-01-01
      • 1970-01-01
      • 2015-05-15
      • 2017-08-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多