2

EF4.1で作成された既存のデータベースがあります。次に、EF 4.3をインストールし、移行を有効にしました。ここで、エンティティの名前を変更しました。Up()メソッドのコードの最初の行はDropForeignKey()です。Update-Databaseを使用して移行を実行すると、「制約を削除できませんでした」という例外がスローされます。

問題は、ef 4.3では、外部キーの命名規則が変更されたことです。4.3では「Table_Table」のように4.1では「FK_Table_Table_Column_ID」のように見えます。

どうすれば変更できますか?

4

2 に答える 2

2

コードファーストでデータベースを再作成することはできますか?これを行うと、すべてのキーが新しい命名規則を使用して再作成されます。

これと、 EntityFramework4.3にアップグレードするときに注意すべき他のいくつかのことについてブログに投稿しました。

于 2012-05-03T14:27:59.753 に答える
0

ぶさいくな。

Entity Framework Power Toolsをインストールして、データベースをリバースエンジニアリングさせてみましたか?生成されたコードで既存のFK名の形式をより適切に処理し、まったく新しいDBを再作成したり、古いものから新しいものにデータを手動でコピーしたりするなど、より抜本的なことをせずに、このハードルを乗り越えるのに役立つ場合があります。

于 2013-04-02T09:18:28.840 に答える