我正在尝试上传我的Asp.net Mvc网站。我已经使用代码第一种方法。现在我在服务器上创建一个数据库并将我的文件上传到Cpanel。但是当我打开网站时,我收到了这个错误:
在数据库' master'。
中拒绝CREATE DATABASE权限
我知道这是因为EF,但我不知道如何解决它
我试图使数据库初始化关闭,但这没有帮助。然后我试图通过这个禁用迁移:
public Configuration()
{
AutomaticMigrationsEnabled = false;
ContextKey = "blah";
}
但这也没有帮助。有谁可以帮助我?
答案 0 :(得分:0)
CreateDatabaseIfNotExists:这是默认的初始化程序。顾名思义,如果根据配置不存在,它将创建数据库。但是,如果更改模型类,然后使用此初始化程序运行应用程序,则会引发异常。
public SchoolDBContext(): base("SchoolDBConnectionString")
{
Database.SetInitializer<SchoolDBContext>(new CreateDatabaseIfNotExists<SchoolDBContext>());
//Database.SetInitializer<SchoolDBContext>(new DropCreateDatabaseIfModelChanges<SchoolDBContext>());
//Database.SetInitializer<SchoolDBContext>(new DropCreateDatabaseAlways<SchoolDBContext>());
//Database.SetInitializer<SchoolDBContext>(new SchoolDBInitializer());
}
public DbSet<Student> Students { get; set; }
public DbSet<Standard> Standards { get; set; }
答案 1 :(得分:0)
您可以像这样将初始化器设置为null:
public TestDBContext(): base("TestDBConnectionString")
{
Database.SetInitializer<TestDbContext>(null);
}
public DbSet<TestEntity> TestEntities { get; set; }