1

プロジェクトをデータベース ファーストからコード ファーストに移行しています。

Entity Framework は、新しいデータベース (古いデータベースを模倣する必要があります) を作成するための優れた作業を行います。
テーブルを記述するために、データ注釈と流暢な API を組み合わせて使用​​しています。

私のデータベースにはいくつかのインデックスがあり、Entity Framework でそれらも作成したいと考えています。これを行う古い方法は、独自の初期化子を定義し、カスタム T-SQL を使用することです。

しかし、今では EF 移行が用意されているので、これを行うのがより簡単になるはずです。
CreateDatabaseIfNotExists<> を自動移行と組み合わせてインデックスを作成する方法がわかりません。MigrateDatabaseToLatestVersion<,> を使用しようとしましたが、データベースが作成された後に移行を実行していないようです。

Entity Framework 4.3 になった今、データベース作成時にインデックスと制約を作成する適切な方法は何ですか?

4

1 に答える 1

5

CreateDatabaseIfNotExists移行を使用する場合は使用しないでください。最初から使用MigrateDatabaseToLatestVersionしてください - データベースも作成されます。インデックス作成コード ( への呼び出しCreateIndex) を移行クラスの Up メソッドに入れます。

既存のデータベースがあり、移行を使用する場合は、最初に初期移行を作成する必要があります。

于 2012-04-21T18:28:41.387 に答える