10

データベースが既に設定されています。新しいフィールドをモデルに、新しい列をテーブルに追加したいのですが、すべてのデータを失わずにこれを行う方法はありますか? 通常、DB を削除すると、すべてが自動的に再作成されますが、データを失いたくありません。データベースとして SQL Server 2008 を使用しています。

4

2 に答える 2

11

データベースに新しい列を追加するには、EF 移行を使用する必要があります。EF 移行の詳細については、こちらこちらをご覧ください。

于 2012-05-24T16:40:57.607 に答える
1

最初にコードを使用している場合、そのような状況では常に列を手動でデータベースに追加してきました。残念ながら、Code First を使用してモデルの増分更新を自動化する簡単な方法はありません。

たとえば、EF Code First 独自のエラーの 1 つは、手動更新を最適なオプションとして指定しています。

データベースが作成されてから、「your context」コンテキストをサポートするモデルが変更されました。データベースを手動で削除/更新するか、IDatabaseInitializer インスタンスで Database SetInitializer を呼び出します。たとえば、DropCreateDatabaseIfModelChanges 戦略は、データベースを自動的に削除して再作成し、オプションで新しいデータをシードします。

于 2012-05-24T16:51:07.273 に答える