2017-08-11 8 views
0

マイグレーションなしでコードファーストを使用していたアプリケーションがありましたが、マイグレーションのコードファーストに切り替える必要があります。マイグレーションを実行する場合、SQLスクリプトは、それは、これらの制約を削除し、それが必要な変更を行った後、それらを再び追加しますエンティティフレームワーク - コード初回のマイグレーション:既存の制約

FK_dbo.[ChildTableName]_dbo.[ParentTableName]_[ChildColumnName] 

のパターンをたどる制約のチェックを持っています。私が実行している問題は、Entity Frameworkが検出できない既存の制約があるため、重複する制約で終わるということです。

例えば、私のデータベースはもともとFK_UserConfig_User_User_IDという制約があり、エンティティ・フレームワークはFK_dbo.UserConfig_dbo.User_User_IDという重複制約を作成しました。 Entity Frameworkに既存の制約を検出させる方法はありますか?

答えて

0

Up()コードで希望する名前を指定できます。だから、見る場所:

.ForeignKey("ChildTable", t => t.ParentId, cascadeDelete: true, name: "FK_UserConfig_User_User_ID") 
:名前を取り、別のオーバーライドがあり

CreateTable("ParentTable" 
... 
.ForeignKey("ChildTable", t => t.ParentId, cascadeDelete: true) 

関連する問題