我习惯先使用数据库。创建了一个启用了登录的ASP MVC5项目,默认设置在默认连接下创建了一个与所有相关表(如AspNetUser等)的数据库。我想要实现的是在我自己的数据库中使用这些表(甚至可能以不同的用户,角色等命名)。甚至不确定我需要从哪里开始。 配置auth使用此
app.CreatePerOwinContext(ApplicationDbContext.Create);
反过来使用DefaultConnection,如下所示
public ApplicationDbContext()
: base("DefaultConnection", throwIfV1Schema: false)
{
}
我将默认连接更改为指向我的数据库的连接。
我更改了数据库上下文以实现IdentityDBContext。现在,当我尝试登录时,我收到一条错误消息,指出IdentityUserLogin不属于模型上下文。
我假设我需要手动创建相关表格。那是对的吗?我怎样才能更改表名?如何将auth集成到另一个数据库中的正确方向的任何步骤都将非常感激。
答案 0 :(得分:1)
如果要替换默认表:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
// Renaming default ASP.NET tables
modelBuilder.Entity<IdentityUser>().ToTable("Users");
modelBuilder.Entity<User>().ToTable("Users");
modelBuilder.Entity<IdentityUserRole>().ToTable("UserRoles");
modelBuilder.Entity<IdentityUserLogin>().ToTable("UserLogins");
modelBuilder.Entity<IdentityUserClaim>().ToTable("UserClaims");
modelBuilder.Entity<IdentityRole>().ToTable("Roles");
}