【发布时间】:2017-01-16 02:12:48
【问题描述】:
我在尝试注册用户等时收到此错误:
对象名称“dbo.AspNetUsers”无效。
这给了我 2 个问题:
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,th 中的数据库名称:
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 ...我还没有完成复杂的答案 - 创建迁移,编辑它,应用它,删除它,再次应用它 - 这肯定是一个应该“开箱即用”的东西。
附加信息:我刚刚使用迁移重新创建了这个数据库,这样 AspNet 表将与我自己的表一起重新创建。
【问题讨论】:
标签: asp.net sql-server azure azure-sql-database