使用Asp.net 4.5和VS 2013,我想知道如何将Asp.Net Identity Tables与现有数据库集成。
所以基本上我想在同一个数据库中拥有Identity表和我自己的表的数据库表。
我知道Asp.Net Identity使用Code First方法,但我想对我现有的数据库使用DB第一种方法。 我有点困惑。
你会如何处理?
将Asp.Net Identity Tables保存在与我自己的表不同的数据库中是否有意义?
答案 0 :(得分:2)
我认为这很大程度上取决于你想要实现的目标。
您正在开发的是一个单独的asp.Net应用程序,还是一组使用相同数据库的不同应用程序?
Here有一个我非常同意的答案。为一个应用程序/数据库分隔模式和一个数据库。如果授权规则保持不变,那么两个数据库就会超越分离点,但三个数据库可能是更好的解决方案。
至于DB第一种方法,有一篇非常好的文章(和代码)here。
答案 1 :(得分:0)
编辑您的identitymodel以覆盖模型创建并指向您已设置的现有表
protected override void OnModelCreating(System.Data.Entity.DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<IdentityUser>().ToTable("Users");
modelBuilder.Entity<ApplicationUser>().ToTable("Users");
modelBuilder.Entity<IdentityUserRole>().ToTable("UserRoles");
modelBuilder.Entity<IdentityUserLogin>().ToTable("UserLogins");
modelBuilder.Entity<IdentityUserClaim>().ToTable("UserClaims");
modelBuilder.Entity<IdentityRole>().ToTable("Roles");
}