0


私はAsp.net Mvcのウェブサイトをアップロードしようとしています。私はコードの最初のアプローチを使用しています。今私はサーバー上のデータベースを作成し、私のファイルをCpanelにアップロードします。EFがデータベースを作成するのを防ぐ方法は?

CREATE DATABASE permission denied in database 'master'.

私は、これはEFのbecuaseである知っているが、私はそれを修正する方法を知らない:私はウェブサイトを開いたときが、私はこのエラーを取得します。
私はデータベースの初期化をオフにしようとしましたが、それは助けになりました。

public Configuration() 
    { 
     AutomaticMigrationsEnabled = false; 
     ContextKey = "blah"; 
    } 

しかし、あまりにもdidntの助けを借りている:そして、私はこのことで、移行を無効にしてみました。誰でも助けてくれますか?

+0

EFは、サーバー上のデータベースを作成するための許可が必要です。 –

+0

@SirwanAfifiそして私はpermisionを持っていません。私はデータベースを作成することからそれをpereventする必要があります。 –

+0

接続文字列を既存のデータベースで指定します。 IDを使用している場合は、これらのテーブルが存在する必要があります。 –

答えて

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; } 

出典:http://www.entityframeworktutorial.net/code-first/database-initialization-strategy-in-code-first.aspx

+0

デフォルトの認証で問題が起こる可能性はありますか?私にはテーブルやデータベースがないからです。私はちょうどサーバー上で自分のデータベースを作った。もしそうなら、それを修正する方法? –

関連する問題