Identity 2.0与现有数据库 - 实体类型' IdentityRole'和#AspNetRoles'无法共享表格#AspNetRoles'

时间:2016-02-03 13:57:34

标签: c# asp.net asp.net-identity-2 dbset

我使用现有数据库将ASP.Net Identity 2.0系统实施到MVC 5应用程序中已经工作了两周多一点。它一直在......尝试。

目前我在注册修改时遇到错误(我担心这会指向更大的fubar - 我希望有更好理解Identity 2.0的人会理解我的位置问题是)

在注册过程中尝试创建新用户时,编译器会错误地告诉我六个实体没有主键。当我将azure sql数据库加载到项目中时,这些6,5是由visual studio生成的实体。

第六个实体(以及麻烦的实体)是AspNetUserLogin(这是Identity 2.0附带的一个表)

我通过进入IdentityModels.cs并重写OnModelCreate并添加主键来解决所有6的错误

 modelBuilder.Entity<Customer>().HasKey(c => c.Cust_ID)

虽然这清除了我收到的关于没有密钥的原始错误,但这引入了一个新问题。

现在,当我尝试运行时,我的标题中出现错误:

  

实体类型&#39; IdentityRole&#39;和#AspNetRoles&#39;无法分享表格#AspNetRoles&#39;因为它们不在同一类型层次结构中,或者没有有效的一对一外键关系,它们之间具有匹配的主键。

我不确定它来自哪里。我没有名为IdentityRole的表格。我能找到的唯一可以深入EntityFramework代码的地方,我无法找到任何显示其主键已被设置为任何内容的地方。

我能找到的唯一连接是当我在IdentityModels&gt;中进行上述改动时发生错误。 ApplicationDbContext,它扩展了IdentityDbContext&lt; ApplicationUser&GT;它使用了IdentityRole,但没有哪里可以找到它认为它获得主键的位置。

我会发布所要求的任何代码,我只是不确定要发布哪些代码有用/适用,而且我不想让代码重载页面。

要求你们收到。在此先感谢您的帮助

我将继续捣乱它,看看我是否可以解决它(或至少以不同的方式打破它)

0 个答案:

没有答案
相关问题