在数据库所有者为'dbo'的本地机器上一切正常。但后来我把它部署到一个不让我们使用'dbo'的共享托管网站上。相反,表所有者是我连接的sql server用户。我们就叫他sheldoncooper吧。所以我所有的桌子都是谢尔顿·库珀的。AspNetUsers sheldoncooper。AspNetRoles sheldoncooper。AspNetUserClaims,等等
看起来身份系统正在寻找一个硬编码的dbo。AspNetUsers dbo。AspNetRoles等。
我如何告诉它不键dbo?
[Edit] NVM,这绝对是一个dup
您可以为每个表指定要使用的模式,但在您的情况下,通过覆盖OnModelCreating方法来全局更改它可能更容易,如下所示:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
// You can globally assign schema here
modelBuilder.HasDefaultSchema("sheldoncooper");
}