2012-02-26 12 views
0

Entity Frameworkを使用して既存のデータベースをセットアップしたとします。データベースが自動的に変更されるようにエンティティ(またはそのプロパティ)を安全に追加または削除できるメカニズムはありますか?Entity Frameworkの既存のエンティティへの変更

"モデルをデータベースから更新する"というオプションがあります。同等の "Update Database From Model"はありますか?これを自動的に行うようにVisual Studioを設定する方法はありますか?

答えて

0

データベースのスキーマを変更することは、モデルから簡単に推論できる簡単な操作(列の名前が変更されたか、新しい列?新しい型ですか?古い型を新しい型に変換できますか?

EFではテーブルが変更されません。変更するとDBが削除されます。ただし、モデルに合わせて既存のデータベースを手作業で変更すると、EFは気にならないようです。彼らがチェックするものはHash(Model) = Hash(Tables)のようです。

2

Entity Framework 4.3にはコード一次移行サポートがあります。

EFはコードとデータベースの相違点を確認し、この変更を処理するコードを生成します。 NuGetパッケージマネージャコンソールを使用して、移行を有効にしたり、新しい移行を追加したり、データベースに対して実行したり、SQLスクリプトを作成することができます。

移行がどのように働くかThis blog explainsthis blogは、あなたが、私はEntity Frameworkの4を使用しています現時点では、既存のデータベース

+0

でそれを使用し、最初の開発をモデル化する方法を示しています。切り替えるには遠すぎるかもしれませんか?データベースにはまだデータがありません。私が持っているのはモデルです(データベースの使用を開始した後に変更される予定です)。 –

+0

モデルファーストからコードファーストへの切り替えは、まだデータを残していないので難しいことではありません。マイグレーションのサポートがあなたの人生をもっと楽にしてくれるので、それは価値があると思います –

関連する問題