2017-05-18 60 views
2

"GunControl"と呼ばれる新しいテーブルをデータベースに追加できるように、コードの最初の移行を変更しようとしています。ただし、パッケージマネージャーに「Add-Migration GunControl」と入力すると、エラーメッセージが表示されます。Visual Studio Community Editionで、保留中の明示的な移行をどのように適用しますか? (ASP.Net)

「明示的なマイグレーションは未解決です。[201705171404346_Questionnaire]。保留中の明示的なマイグレーションを適用します。新しい明示的な移行を生成しようとする前に。

QuestionnaDbEntities.mdfはdbの名前で、GunControlはQuestionnaireクラスを継承しています。私はどこでもオンラインで見てきましたが、私はこれを行う方法を見つけることができません。あなたのお時間をありがとうございました!

答えて

2

これは、既に接続している既存のデータベースがあるために発生します。データベースにはどのマイグレーションが適用されたかが記録されており、実行するときにAdd-Migrationはデータベーススキーマとモデルを比較し、実際のデータベースにまだ適用されていないマイグレーションを以前作成したものと見なします(201705171404346_Questionnaire)。このため、新しい移行では、データベースを比較するときにスキーマ内で何が変更されたかを判断できません。

次のオプションがあります。以前の移行を適用する

  1. 実行Update-Database
  2. 移行ファイル201705171404346_Questionnaire.csを削除し、再度Add-Migrationを実行します。これには両方の変更が含まれます。
  3. データベース全体とすべての移行ファイルを削除し、Add-Migrationを実行して初期スキーマを作成します。
関連する問題