2012-01-06 9 views
1

EF 4.1のC#MVC3で作業しています。 私のモデル(IE:私のPlayer.csにプロパティpublic bool dead {set; get;}を追加)の1つを変更すると、EFが削除され、データベース全体が再作成されます。EntityFramework再作成の代わりにデータベースを変更します。

私はこの持っているこの起こったのでことを知っている:なし再作成しないで、私のプレーヤーのテーブルに新しい列を追加

Global.asax.cs

protected void Application_Start(){ 
    ... 
    Database.SetInitializer<GameContext>(new DropCreateDatabaseIfModelChanges<GameContext>()); 
    ... 
} 

を私はEFにしたいですデータベース全体、私はDjangoと同じ問題がありましたが、私はそれを解決するために南を使用しました(微妙なツール)。 EFに類似したものが存在しますか?

public class GameInitializer : DropCreateDatabaseIfModelChanges<GameContext>定義でデータベースをシードできず、すべての値を自分で入れ替えることはできません。

唯一の選択肢は、私のテーブルに手動で列を追加することだとはほとんど思いません。私は、サーバーエクスプローラにMDFファイルを追加すると、プロジェクトを開くことができません。 (たとえ私が接続を外して接続を閉じたとしても)データベースで、それはちょっと変です。

これは私の問題です! TIA。

+0

http://stackoverflow.com/questions/2198426/database-migrations-for-entity-framework-4 –

答えて

5

現在、EFはデータベースを構築するためのインクリメンタルな方法はありませんが、この機能を提供する別のプロジェクトCode First Migrationsがあります。移行は現在ベータ版であり、将来のEFバージョンに含める必要があります。

マイグレーションを使用するか、データベースを手動で変更する必要があります(現在の問題を解決するためにVSを閉じたり開いてみてください)。

関連する問題