2011-06-15 51 views
7

看似簡單的事情,讓我完全凍結,我無法找到這個淨任何東西:實體框架:刪除SQL表不從模型中移除

我有一個共同的多對多的關係在我的分貝:

表一+ TableTwo + LinkingTable 2列:TableOneID和TableTwoID

我刪除了LinkingTable並試圖更新數據庫從模型。現在我得到錯誤「錯誤11007:實體類型」鏈接表「未映射。」

有人知道這個EF想要什麼嗎?謝謝!

回答

11

右鍵單擊解決方案資源管理器中的模型。選擇「打開方式...」在對話框中選擇「XML(文本)編輯器」。從模型的xml中刪除LinkingTable的所有節點和引用(或其真實名稱)。關閉當前打開的所有模型文件(我知道,很奇怪)。建立該項目。再次打開模型。現在一切都應該沒問題。

+0

它的工作,謝謝!我是EF新手,我從prev程序員那裏繼承了這個模型。爲什麼會發生? – Kizz 2011-06-15 18:16:41

+1

我不知道所有實體框架的「嚮導」的確切內容以及多對多關係中的內容。但我從經驗中知道,解決多對多問題的唯一方法是手動並仔細地編輯模型的xml。至少現在,直到MS修復這些東西。因此,如果「刪除」操作沒有得到傳播,只需手動刪除對該表的所有引用並重新加載模型。類似的東西:) – MTG 2011-06-15 18:23:25

+0

感謝這一點 - 我有完全相同的問題。手動更正XML似乎是最簡單的解決方案。 – GarethOwen 2012-05-02 14:37:19

1

打開模型瀏覽器, 在實體類型中,選擇要刪除的表格, 它將刪除與表格的所有關聯。

它對我很好。