ある構造から別のデータ構造にデータを転送するユーティリティを開発しています。このユーティリティは、Entity-Frameworkによって制御されるSQlサーバーデータベースに格納されます。シードする前にデータベースをリセットする方法
私がターゲットデータベースモデルを変更するたびに、以下を実行しています。
- ターゲットデータベースからのデータの削除。
- ID値をリセットするために各テーブル(多くのテーブル)で "dbcc checkident(" table "、reseed)"を実行します。
- 次http://www.entityframeworktutorial.net/code-first/database-initialization-strategy-in-code-first.aspxを読んだ後、私は2つの選択肢があると思い
「をアップデート - データベース」を使用してデータベースを再シード。私は自分のイニシャライザーを動かしたいとは思わない。
最初のオプションは、開発中にdrop create戦略の1つを使用することです(dropCreateifmodelChanges、またはDropCreateAlways)Drop Createプロセスは既存のターゲットデータを削除し、Identityカウンタを再シードしますか?
2番目のオプションは何らかの形で削除を含めることで、シード関数にIDをリセットします。これはできますか?もしそうなら - どのように?
もっと良い選択肢はありますか?誰にもアドバイスはありますか?
あなたの2つのオプションが動作します – TheGameiswar
また、ターゲットデータベース内のすべてのテーブルに対してtruncateを使用することを検討する必要があります:http://stackoverflow.com/questions/15220411/entity-framework-delete-all-rows-in-table –