2

EFコードでは、まず1つのテーブルから1つのカラムを削除して&を削除し、別のテーブルを削除したいとします。EFからテーブルを削除する最初のマイグレーション

クラスファイルから1つの列を削除すると、自動的に1つのマイグレーションファイルが生成されます。

しかし、テーブルを削除する方法。

どのコマンドを起動する必要がありますか?完全なクラスファイル&を削除する必要がありますか?また、次の行をコンテキストファイルから削除しますか?

public DbSet<TableClassName> TableClassNameSet { get; set; } 

私はMigration 'TableClassName'コマンドを使用します。

だから、テーブルを削除する最も良い方法は何ですか?

答えて

0

テーブルを削除するには、DBMigrationクラスのDown()メソッドでDropTable("YourTable")を使用できます。

また、マイグレーションをカスタマイズする方法の例については、次のリンクを参照してください。

https://msdn.microsoft.com/en-au/data/jj591621.aspx#customizing

+0

DropTableの使用は正しいですが、おそらくモデルを調整する方が良いでしょう。 また、移行を元に戻すことができないテーブルを削除することにも問題があるようです。下()は、最新の移行を元に戻すためのものです。だから私の理解から、コードはこの場合Up()にあるはずです。 –

+0

@MikaelEliassonはい、ありがとうございます。完了:) –

3

あなただけの最後の移行で変更を行った場合は、その移行をrollbackすることができます。それ以外の場合は、モデルを調整するだけです。変更は次の移行で選択されます。テーブルを削除するには、該当するDbSet<MyClass>とモデルの他の部分でそのクラスへの参照を削除するだけで、EFは自動的にDropTableをマイグレーションに追加します。 Entity Framework以外の目的でクラスを使用しなくなった場合は、削除することができます。

関連する問題