私はEntity Framework 6でMVC 5を使用していますが、自動移行は無効になっており、シードは使用されていません。Entity Framework 6でデータベースが削除されましたか?
私は手をつないで、MVCとEFにはかなり新しいと言います。
新しいコードベースを本番環境にアップロードしたばかりで、モデルが変更されたことを忘れました。私が新しいバージョンにログインすると、それは投げられ、エラーページを投げた。さて、私は最新の移行スクリプトを書くことを忘れていました - 私はそれを行い、SSMSに接続し、データベースがなくなったことを発見しました。
バックアップから復元して、マイグレーションを適用すると、すべてが正常に動作するようになります。
モデルが変更されたときに私のコードがデータベース全体を削除したのはなぜですか?前述のように、自動移行は無効になっており、この動作は開発マシンでは発生しません。変更されたモデルに関するエラーが発生します。編集追加する
:フェルナンダの答えで初期化パターンを見ている一方で、それらのどれも、「データベースをドロップして、他に何もしない」と言っていません。私のデータベースは削除され、MDFとLDFはなくなりました.SMSとその代わりに何も作成されていません。空のデータベースがその場所に作成された場合、私はもう少し理解しています。つまり、ユーザーアカウントにはDBOがありますが、マスターではないため、データベースを削除できましたが、新しいデータベースを作成することはできませんでしたか?
答えはわかりませんが、文脈クラスの 'OnModelCreating()'に 'Database.SetInitializer(null);'を必ず入れています。 –
慎重に思えます。私は驚いたことに、開発環境のいずれにも起こらないということです。 – RemarkLima