在我的本地计算机上,一切都运行良好,数据库所有者是dbo'。但随后我将其部署到一个共享主机网站,该网站不允许我们使用“dbo”#。而是表所有者是我连接的sql server用户。我们打电话给他' sheldoncooper'。所以我的所有表都是sheldoncooper.AspNetUsers,sheldoncooper.AspNetRoles,sheldoncooper.AspNetUserClaims等等。
看起来Identity系统正在寻找硬编码的dbo.AspNetUsers,dbo.AspNetRoles等。
如何告诉它不要键入dbo?
[编辑] NVM,这绝对是一个重复。
答案 0 :(得分:0)
您可以为每个表指定要使用的架构,但在您的情况下,通过重写OnModelCreating方法可能更容易全局更改它:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
// You can globally assign schema here
modelBuilder.HasDefaultSchema("sheldoncooper");
}