3

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

数据库已为我创建,我是他的所有者。

当我打电话update-database或运行应用程序时,它会尝试创建数据库并失败,原因是:

数据库“master”中的 CREATE DATABASE 权限被拒绝。

EF只想创建表格。

正常的初始化程序是:

CreateDatabaseIfNotExists
DropCreateDatabaseWhenModelChanges
DropCreateDatabaseAlways

所有这些都创建了一个数据库,我无权这样做。

是否可以选择从类似但不创建数据库的Package Manager Console东西创建表?update-database

编辑:经过一番搜索,我发现:update-database -verbose -script我可以用它来生成我可以自己运行的表创建脚本。但不是以自动化的方式,比如update-database

4

1 回答 1

0
Database.SetInitializer<MyDbContext>(null);

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

AutomaticMigrationsEnabled = false;

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

于 2013-07-15T15:24:25.470 回答