Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在自定义数据库中使用Asp.Net标识_C#_Asp.net_Asp.net Mvc_Asp.net Identity - Fatal编程技术网

C# 在自定义数据库中使用Asp.Net标识

C# 在自定义数据库中使用Asp.Net标识,c#,asp.net,asp.net-mvc,asp.net-identity,C#,Asp.net,Asp.net Mvc,Asp.net Identity,我将默认的AspNet标识表(AspNetUsers、AspNetLogin等)复制到了我的数据库中,一切正常。然后我更改了他们的名字,并使用以下方法创建了自己的上下文: protected override void OnModelCreating(DbModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); modelBuilder.Entity<IdentityUser&

我将默认的AspNet标识表(AspNetUsers、AspNetLogin等)复制到了我的数据库中,一切正常。然后我更改了他们的名字,并使用以下方法创建了自己的上下文:

protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);

        modelBuilder.Entity<IdentityUser>()
            .ToTable("tblUsers", "dbo");

        modelBuilder.Entity<IdentityRole>()
            .ToTable("tblRoles", "dbo");

        modelBuilder.Entity<IdentityUserRole>()
            .ToTable("tblUserRoles", "dbo");

        modelBuilder.Entity<IdentityUserClaim>()
            .ToTable("tblUserClaims", "dbo");

        modelBuilder.Entity<IdentityUserLogin>()
            .ToTable("tblUserLogins", "dbo");
    }
模型创建时受保护的覆盖无效(DbModelBuilder modelBuilder)
{
基于模型创建(modelBuilder);
modelBuilder.Entity()
.ToTable(“tblUsers”、“dbo”);
modelBuilder.Entity()
.ToTable(“tblRoles”、“dbo”);
modelBuilder.Entity()
.ToTable(“tblUserRoles”、“dbo”);
modelBuilder.Entity()
.ToTable(“tblUserClaims”、“dbo”);
modelBuilder.Entity()
.ToTable(“tblUserLogins”、“dbo”);
}
但应用程序似乎仍在寻找具有旧名称的表,因为我发现了一个错误:

请告诉我我还没有做的必要更改是什么?

根据这一点:

protected override void OnModelCreating(System.Data.Entity.DbModelBuilder modelBuilder)
{
    base.OnModelCreating(modelBuilder);

    modelBuilder.Entity<IdentityUser>().ToTable("MyUsers").Property(p => p.Id).HasColumnName("UserId");
    modelBuilder.Entity<ApplicationUser>().ToTable("MyUsers").Property(p => p.Id).HasColumnName("UserId");
    modelBuilder.Entity<IdentityUserRole>().ToTable("MyUserRoles");
    modelBuilder.Entity<IdentityUserLogin>().ToTable("MyUserLogins");
    modelBuilder.Entity<IdentityUserClaim>().ToTable("MyUserClaims");
    modelBuilder.Entity<IdentityRole>().ToTable("MyRoles");
}
protectedoverride void OnModelCreating(System.Data.Entity.DbModelBuilder modelBuilder)
{
基于模型创建(modelBuilder);
modelBuilder.Entity().ToTable(“MyUsers”).Property(p=>p.Id).HasColumnName(“UserId”);
modelBuilder.Entity().ToTable(“MyUsers”).Property(p=>p.Id).HasColumnName(“UserId”);
modelBuilder.Entity().ToTable(“MyUserRoles”);
modelBuilder.Entity().ToTable(“MyUserLogins”);
modelBuilder.Entity().ToTable(“MyUserClaims”);
modelBuilder.Entity().ToTable(“MyRoles”);
}
另外,请确保您没有落入ASP.NET Identity使用其默认aspnetdb.mdf数据库的陷阱,并检查您的web.config以了解以下内容:

<connectionStrings>
   <remove name="LocalSqlServer" />
   <add connectionString="yourdatabase" name="LocalSqlServer" providerName="System.Data.SqlClient" />
</connectionStrings>

您是否使用迁移来更新数据库?