2017-08-11 118 views
0

我有一個應用程序,當時我使用Code First而沒有遷移,但現在我想切換到Code First with Migrations。當運行遷移,SQL腳本對下面的實體框架 - 代碼優先遷移:現有約束條件

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

模式將消除這些限制和他們這樣做需要更改後重新添加約束檢查。我遇到的問題是我有現有的約束,實體框架沒有檢測到,所以我最終有重複的約束。

例如,我的數據庫最初有一個名爲FK_UserConfig_User_User_ID的約束,現在實體框架創建了一個名爲FK_dbo.UserConfig_dbo.User_User_ID的重複約束。有沒有辦法讓Entity Framework檢測現有的約束?

回答

0

您可以在Up()代碼中指定所需的名稱。那麼,你看:

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

還有一種超越,是以名稱:

.ForeignKey("ChildTable", t => t.ParentId, cascadeDelete: true, name: "FK_UserConfig_User_User_ID") 
相關問題