2013-03-26 64 views
2

我從數據庫生成了一個EF圖,但我決定不設計數據庫並生成edmx,我想要設計圖並從中生成一個數據庫。如何從實體框架中刪除約束?

但是,從我從數據庫生成圖表時仍然存在一些約束,我似乎無法刪除。一個約束是針對不再存在的列,因此.edmx會引發錯誤。

有沒有什麼辦法讓我去除這個約束?我不想從數據庫中刪除它,並從數據庫中更新,因爲我在圖上做了很多更改,不想再次重做它們。

回答

4

.edmx文件只是一個XML文件。如果情況變得更糟,您可以在文本編輯器中直接編輯它,如果您小心的話。查找與您感興趣的約束相匹配的關聯和關聯集,並刪除這些標籤。然後保存該文件並在Visual Studio中重新打開。請注意,如果你這樣做,我會建議首先備份文件,以防萬一你在某處犯了錯誤,然後你可以恢復。

+0

儘管我覺得我不應該這樣做,但編輯.edmx文件的xml並刪除約束完美無缺。謝謝。 – Kyle 2013-03-26 23:35:49

0

一旦從設計者刪除列,請嘗試Clean Solution然後重建解決方案。您應該能夠在該點刪除約束。

+0

我該去哪裏刪除它?我只能在模型瀏覽器中找到約束條件,並右鍵單擊我想擺脫的那個沒有刪除作爲選項。 – Kyle 2013-03-26 23:13:06

+0

從**模型瀏覽器**中,右鍵單擊約束並選擇**在圖表**中顯示。這應該會使您進入圖表中的約束條件,您可以右鍵單擊進行刪除。 – 2013-03-26 23:17:29

+1

我沒有Show In Diagram作爲選項。我只有從數據庫驗證,更新模型,從模型生成數據庫,添加代碼生成項目和屬性。這裏的屏幕截圖,http://i.imgur.com/ME2ZZSc.png感謝您試圖幫助我弄清楚這一點。 – Kyle 2013-03-26 23:21:34