MVC5 和 ASPNET Identity 2.0

MVC5 and ASPNET Identity 2.0

我乐于接受建议,但我发现让 Identity 以最小的努力工作的唯一方法是这样进行迁移设置:

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
  modelBuilder.Entity<IdentityUser>().HasKey(l => l.Id).ToTable("AspNetUsers");
  modelBuilder.Entity<IdentityUserLogin>().HasKey<string>(l => l.UserId).ToTable("AspNetUserLogins");
  modelBuilder.Entity<IdentityRole>().HasKey<string>(r => r.Id).ToTable("AspNetRoles");
  modelBuilder.Entity<IdentityUserRole>().HasKey(r => new { r.RoleId, r.UserId }).ToTable("AspNetUserRoles");
  modelBuilder.Entity<IdentityUserClaim>().HasKey(r => new { r.Id }).ToTable("AspNetUserClaims");}

在我为 table 植入用户数据后,我就可以启动我的 MVC5 网络应用程序并像使用各种帐户一样登录。我还能够注册新用户并更新现有帐户。似乎一切正常。

我所做的事情是否有长期的负面影响and/or您是否有更简洁但整洁的方法来让 Identity 2.0 与 MVC5 一起工作?

编辑: Context:I 正在从多个具有本地帐户 table 和安全性的数据库中迁移数据,因此我正在创建一个控制台应用程序,该应用程序从三个数据库中剔除帐户 table,以便在控制台应用程序中创建基于身份的帐户以播种所有历史数据。所以上面的代码驻留在控制台应用程序中,而不是 mvc5 项目中。播种历史数据后,包括身份 tables,我有一个单独的解决方案托管一个使用新架构的 mvc5 web 项目。

我已经阅读了大量 post typecast http://typecastexception.com/post/2014/04/20/ASPNET-MVC-and-Identity-20-Understanding-the-Basics.aspx 和 asp.net 以及 Scott Gu 的博客上的优秀概述,但我找不到任何简单或重要的内容我需要的事实。