2011-03-28 5 views
5

新しい4.1 RCで利用可能なコードファーストアプローチを使用します。データベースの内容をモデルに変更する

モードが変更されたときにデータベースに保存されている現在のデータを永続化する方法はありますか?データベースはエンティティフレームワークによって作成され、通常はモデルの変更時にデータベースが削除され、再作成されます。

モデルが変更されるとすぐに、コンテキストオブジェクトを使用してデータベースに接続してデータを取得することはできないため、オプションは何ですか?

+0

多分関連しているhttp://stackoverflow.com/questions/4485742/ef-code-first-recreate-database-if-model-changes –

答えて

3

コードは、データベースの移行/進化をまだサポートしていません。 DbContextジェネレータT4テンプレートと差分を作成できるEntity designer database generationパックを使用して、インクリメンタルDB開発を最初に(EDMX)使用したい場合。モデルからのスクリプト。

2

From Scott Gu:

重要なことは、しかし、自動作成 データベースオプションは、単にオプションである - それ 間違いなく必要とされていません。 接続文字列を 既存のデータベースで指している場合は、EF "コードを最初に" は自動的に を作成しません。あなたが明示的にEFはこれをしたい ない限り オプションも有効になりません自動-再作成 - そう あなたはそれを心配する必要はありません 落ちしたり、それをしたい あなたが明示的に示されていない限り、データベース を再作成そうするために。

+0

これはまた、私は手動でデータベーススキームを編集する必要があることを意味するもう一度モードに一致しますか? –

+0

おそらく...正直言って、私はそれが大した契約ではないと思っていましたが、コードを最初にモデルとDBを同期させずに、DBを書き直すように見えます – taylonr