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して DB スクリプトを生成し、自分で実行できます。

于 2013-07-15T15:24:25.470 に答える