【发布时间】:2015-09-17 14:41:44
【问题描述】:
我在我的项目中使用 IdentityUser 类的自定义实现。
问题是实体框架在表 IdentityUserRoles 中添加了一个额外的列,将子类 Id 映射为约束。
我知道 EF 可能对如何映射与这个新类的关系感到困惑,我只是不知道为什么以及如何解决它。我一直在网上搜索有关此 EF 行为的信息,但尚未找到解决方案。
以下是一些总结问题的截图:
【问题讨论】:
-
您的目标到底是什么,一个用户/角色表需要 2 个外键,但您已经知道,实体是否在制作第三个列,即用户/角色 ID,而您不希望这样?
-
哦,如果不够清楚,抱歉......这个额外的列不应该存在,它似乎是EF映射的问题。我想知道如何扩展 IdentityUser 类而不在多对多表(IdentityUserRoles)中创建那个额外的字段
-
因此,您希望该表的主键是两个外键的组合,而不是将其他无用的列作为多对多表的 id。你不能在映射后删除它吗?这就是我所做的,但它似乎不是同一个框架,我使用 4.0
-
如果我只使用默认配置的 Identity,该表将只有 UserId 和 RoleId 作为主键,而不是像你说的那样无用的列。我宁愿弄清楚 EF 是如何弄乱我的映射的(或者如果我弄乱了某些东西)并正确修复它。我拒绝接受这是 EF 和 Identity 的默认行为。我正在使用 EF 6.1.3 和 Identity 2.2.1 btw
-
好吧,我会继续寻找答案...同时,如果您不介意,我希望看到您删除该列的替代方法。
标签: asp.net-mvc entity-framework asp.net-mvc-5 asp.net-identity asp.net-identity-2