2017-05-15 4 views
0

私のプロジェクトは、既定のdboスキーマである既存のDBに対して作業しています。ビルドする新しいモジュール用に別のスキーマを作成しました。私は最初にコードを作成し、新しいコードの最初のドメインモデルで既存のDBからいくつかのオブジェクトを生成しました。空の最初の移行を作成し、DBを更新しました。今、私は、以下の行を使用して、私の新しいスキーマの新しい表を作成しました:各SQLスキーマに異なる移行テーブルを使用する必要がありますか?

modelBuilder.Entity<newTblClass>().ToTable("newTblClass", "newSchema"); 

そして私は新しい移行を作成し、DB更新します。 私のDBに、私のマイグレーションがテーブルdbo .__ MigrationHistoryに作成されていることに気付きました。 これは正しい方法ですか?各スキーマごとに個別の移行テーブルを使用する必要がありますか?もしそうなら、どのように?

+0

EFはそのテーブルにミストの履歴を格納します。 1つのテーブルにすべての移行レコードを持つことは良いことです。それをそのまま残す。 –

+0

スキーマごとに個別に移行する場合は、それぞれのコンテキストを作成する必要があります。 __MigrationHistoryを別のスキーマに移動する場合は、[技法](http://stackoverflow.com/questions/28355352/ef-6-code-first-migrationhistory-in-dbo-schema-by-default)があります。そのためにも。 –

答えて

0

実際に移行には2通りの方法があります。最初の方法は、スキーマの変更ごとに新しいものを追加することです。第2の方法は自動的に移行を作成することです。

すべての変更を返す場合は、最初の方法で使用できます。

あなたのスキーマを変更する場合は、それを行う必要があります。 enter image description here

リマインダー を表示する私たちは、ライトイネーブル・マイグレーションその後 enter image description here

を、FirtsMigrationおよびその他の移行、NugetPackageコンソール 我々が書いているを追加するには、Add-移行

enter image description here

FirstMigrationを

この方法では、マイグレーションフォルダと構成クラスが自発的に作成されます。

関連する問題