当我尝试注册用户等时出现此错误:
无效的对象名称&#d ;.AspNetUsers'。
这给了我两个问题:
1)我该如何解决这个问题
2)为什么我有这个问题?! ...有几个类似的问题显示了解决方法(黑客?),但我似乎没有解释为什么它需要做什么
我在Azure上运行我的网站时收到错误。如果我在我的机器上本地运行(即直接从VS IIS调试)它运行正常。本地运行的网站仍然访问相同的Azure SQL数据库而没有问题,并且具有相同的连接字符串:
<add name="DefaultConnection" connectionString="data source=tcp:mysqlserver.database.windows.net,1433;initial catalog=mysqldb;user id=mysqluser;password=mypass;multipleactiveresultsets=True;connect timeout=30;encrypt=True;trustservercertificate=False;application name=EntityFramework" providerName="System.Data.SqlClient" />
它可以很好地访问数据库中的其他表。
我已尝试将用户my添加到数据库db_owner
角色。
我尝试过使用我的连接字符串中的sql-user,数据库名称为:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
// Also tried this
//modelBuilder.HasDefaultSchema("mysqluser");
string schema = "mysqluser";
modelBuilder.Entity<IdentityRole>().ToTable("AspNetRoles", schema);
modelBuilder.Entity<IdentityUserClaim>().ToTable("AspNetUserClaims", schema);
modelBuilder.Entity<IdentityUserLogin>().ToTable("AspNetUserLogins", schema);
modelBuilder.Entity<IdentityUserRole>().ToTable("AspNetUserRoles", schema);
modelBuilder.Entity<ApplicationUser>().ToTable("AspNetUsers", schema);
}
这主要是基于这个问题: ASP.Net Identity - Use custom Schema ...我还没有完成复杂的答案 - 创建迁移,编辑,应用,删除,再次应用 - 当然,这是一个应该工作的东西。盒子&#34;。
其他信息:我刚刚使用迁移重新创建了这个数据库,因此AspNet表将与我自己一起重新创建。
答案 0 :(得分:0)
行。所以这里的红鲱鱼是其他人发布了同样的错误,比如这些问题:
- ASP.Net Identity - Use custom Schema
- Invalid object name 'dbo.AspNetUsers' in Asp.NET MVC 5 Entity Framework
- Invalid object name 'dbo.AspNetUsers'
但是在尝试了以上所有内容之后,我已经在Visual Studio中的“发布”对话框中跟踪了该问题,为我更新了我的连接字符串(查看旧数据库)。我在调试Azure发布网站上的连接字符串之后找到了这个。
答案 1 :(得分:0)
我没有正确迁移数据库,因此在执行POST请求时会导致相同的错误。