当地的作品。 Azure给出错误:无效的对象名称&#d; .dspNetUsers'。为什么呢?

时间:2016-09-08 08:21:27

标签: asp.net sql-server azure azure-sql-database

当我尝试注册用户等时出现此错误:

  

无效的对象名称&#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表将与我自己一起重新创建。

2 个答案:

答案 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请求时会导致相同的错误。