2016-11-16 6 views
0

私は既存のデータベースを持っています。それは手動で作成されたテーブルを持っています(SQLではEFではありません)。理由のために、EFコードの最初の移行を追加する必要があります。Entity Frameworkは作成していないテーブルを削除しますか?

まだ移行が適用されていない環境でUpdate-Databaseを実行すると、EFでテーブルを作成したいが、データベース全体を削除しないようにします。それが何をするのでしょうか?どうすればそれを止めることができますか?私は

//Disable initializer 
Database.SetInitializer<ApplicationDbContext>(null); 

またはEF場合CreateDatabaseIfNotExistsは実際にはまだデータベースをドロップしますように見えるのドキュメントによると

Database.SetInitializer<ApplicationDbContext>(new CreateDatabaseIfNotExists<ApplicationDbContext>()); 

を使用するを使用するかどうかわからないんだけど、私のデータベースコンテキストで

テーブルは存在しません。

しかし、私は単にイニシャライザを無効にしても、それはEFテーブルを作成しないことを意味すると思います。これらの解決策のどちらも良いとは思わない。手動で作成

答えて

2

あなたはデシベルで、いくつかのテーブルを持っている場合は、次のコマンドを使用して、マイグレーションを有効にすることができます

PM>Enable-Migrations 
PM>AddMigration [A_Name_For_Your_Migration] -IgnoreChanges 
PM>Update-Databases 
+0

私は、データベースの初期化戦略を指定し、やったあなたが示唆したように、それが働いていませんでした。ありがとう。 – levininja

関連する問題