私のプロジェクトでは、現在のアプローチは、データベースがまだ存在しない場合は、データベースを作成しCreateDatabaseIfNotExists
、そこから初期データをシードすることIntializer
です。また、エンティティ 4.4 へのアップグレード後に Code First Migration のサポートを追加しました。これにより、将来、モデル/データベース構造を変更するときに、既存のデータベースを削除せずにクライアント側のデータベースを更新できます。
ただし、うまく機能していないようです。たとえば、フォームが読み込まれず、エラーメッセージがThe model backing the 'myEntities' context has changed since the database was created. Consider using Code First Migrations to update the database (http://go.microsoft.com/fwlink/?LinkId=238269).
. しかし、モデルとデータベースは確かに更新されたバージョンです。Migration は によって生成されたデータベースを認識しなかったようですCreateDatabaseIfNotExists
が、同時に実行時にすべてがうまく機能しているようです。
また、その後CreateDatabaseIfNotExists
、データベースを初期化すると、Add-migration
その後失敗して文句を言いpending migration
、update-database
. を実行しようとするとupdate-database
、移行パスはデータベースが初期セットアップ状態にあると想定しているように見え、すべての移行スクリプトを実行しようとしますが、によって生成されたデータベースCreateDatabaseIfNotExists
は実際に現在と同期しているため、実行する必要はありません。モデルであり、まったく移行しないでください。