2016-11-11 8 views
0

大規模なASP MVC WebアプリケーションEF6コードファースト(100以上のエンティティ)を開発しており、移行に関する疑問があります。私たちは、生産ではまだ発展途上ではなく、している間、我々は移行を有効にした場合、小さな移行を行うことが推奨されるので、ASP MVC 5 EF6移行とシード

  • 、我々は、移行ファイルのトンで終わるしようとしています。これは正しいアプローチですか、またはアプリケーションがクライアントになる前に開発するためにDropCreateIfModelChangesを有効にする必要がありますか?

  • また、国、州、いくつかのスーパーユーザーのように、アプリケーションを使用するすべてのクライアントが必要とする一般的なデータをデータベースに書き込む必要があります。 このデータをどこにシードする必要がありますかWebアプリケーションをインストールするすべてのクライアントに常にありますか?

私はいくつかの異なるアプローチ見てきました: - AddOrUpdateコマンドを使用して、移行の構成の種子関数のシードデータを、私はこれは悪いアプローチであることをいくつかの場所で見てきました。 - Sqlを使用した追加マイグレーションのシード・データ( "INSERT INTO ....");

ありがとうございます。

答えて

0

私は通常、イニシャライザを使用して開発を開始します。 securityとルックアップテーブルに最適な、データベースの作成時にのみ実行されるseed method specifically for initializersがあります。 (移行初期化子はすべての更新データベースで実行されます)。

私が他のデータを失いたくないところに到達すると、私は移行に切り替えます。あなたが言及しているように、これらは蓄積する可能性がありますので、私はChris's techniqueを使って展開しています。

また、issues working with migrations in a team environmentにも注意する必要があります。

関連する問題