在现有数据库上创建表

时间:2013-07-15 14:39:20

标签: .net entity-framework ef-code-first ef-migrations

我正在将ASP.NET项目部署到服务器,并且将使用我无权创建数据库的mssql服务器。

我已经为我创建了数据库,我是他的主人。

当我调用update-database或运行应用程序时,它会尝试创建数据库并因以下原因而失败:

  

在数据库'master'中拒绝CREATE DATABASE权限。

我喜欢EF来创建表格。

正常的初始化程序是:

CreateDatabaseIfNotExists
DropCreateDatabaseWhenModelChanges
DropCreateDatabaseAlways

所有这些都创建了一个我无权执行的数据库。

是否可以选择从Package Manager Console创建表格update-database,但不创建数据库?

编辑:搜索了一下后,我发现:update-database -verbose -script我可以用它来生成表格,我可以自己运行。但不是像update-database

这样的自动化方式

1 个答案:

答案 0 :(得分:0)

Database.SetInitializer<MyDbContext>(null);

您也可以进入Configuration类(继承自DbMigrationsConfiguration<MyDbContext>)并在构造函数中指定:

AutomaticMigrationsEnabled = false;

而且,正如您已经发现的那样,您可以使用-script生成数据库脚本并自行运行。