2012-01-11 3 views
1

私はEntity-framework-4.2でDropCreateDatabaseIfModelChanges DB初期化子クラスを使用しています。問題は新しいデータベースを作成し、古いデータが失われることです。私はいくつかの新しい値を入力するために、このクラスのseedメソッドを使用しました。しかし、そのようにして私は古いデータを保存することができません。 既存のデータを失うことなく、モデルが変更されたときにDBを削除して作成する方法を知っている人はいますか?データを失うことなくDropCreateDatabaseIfModelChangesを使用できますか?

ありがとうございます。

+0

再作成の代わりにEntityFrameworkデータベースを修正することができます。(http://stackoverflow.com/questions/8760727/entityframework-modify-database-instead-of-recreate) – Eranga

答えて

1

いいえ組み込みのデータベースイニシャライザでは不可能で、カスタムイニシャライザのデータを書き込むことは非常に複雑な作業になります。代わりに、イニシャライザの代わりにCode First Migrationsを使用することもできます。移行により、データベースの段階的な開発が可能になります。

+0

あなたの答えはLadislavにありがとうございます。 ** "データベースの段階的な開発" **の意味を説明してください** –

+0

これはあなたが探しているものです。データベース全体を削除して最初から作成するのではなく、スキーマの変更のみをデータベースにプッシュする方法(つまり、イニシャライザが行うことです)。 –

+0

mdfファイルを使用すると完全なサンプルと私は新しいテーブルを追加する必要がありますか? – Kiquenet

関連する問題