2017-10-25 18 views
0

これが可能であれば、私は疑問に思います。私はASP.NET CoreとEF Coreを使ってMVCにアプリケーションを書いています。ほとんどの場合、私は自分のエンティティのためのコード初のマイグレーションを行っています。エンティティフレームワークのCore Migrateテーブル(DBから)

誰かが私が使用しているデータベースにテーブルを追加しました。テーブルを削除してコードを最初に実行するのではなく、DBの最初の移行を使用してテーブルを持って行きます。

これは、DBファースト/コードファーストのテクニックを混在させて一致させることさえできますか?

もしそうなら、どうすればよいですか?私はテーブルを1つだけ持ち出すことについて何も見つけられないようです。データベース全体の移行は、私が望むものではありません。

答えて

0

はい、可能です。手順は次のとおりです。

  1. モデルフォルダを右クリックします。
  2. [追加]を選択し - > [新しい項目の追加]ウィンドウで[新しい項目
  3. を追加し、[データ] - > [ADO.NETエンティティデータモデル。 (これにより新しいDbContextが作成されますが、2つのDbContextがマージされます)[追加]をクリックします。
  4. エンティティデータモデルウィザードでデータベースからコードファーストを選択します。
  5. 接続文字列を選択します。
  6. いいえをクリックして、機密データを除外してください...
  7. 接続設定を保存しないでください。
  8. 次をクリックして、新しい表
  9. クリックして選択します。この時点ではVSは、二つのファイル生成する

を終える:新しいDbContextとテーブルのためのモデルを。

新しいDbContextを開き、モデルのDbSetを切り取り、元のDBContextに貼り付けます。また、OnModelCreatingメソッドの内容を切り取り、元のDbContextのOnModelCreatingメソッドの最後に貼り付けます。

最後のステップでは、変更を無視して新しい移行を追加します。 例: Add-Migration NewTableAdded -IgnoreChanges -verbose

関連する問題