我有一個包含5個表格的db。在開始時,我已經添加了這些表格,但之後決定刪除一些由於某些關係編譯錯誤。重新添加到實體模型(edmx)時不顯示錶格
現在,當我想將它們添加回來,我打開EDMX文件 - >從數據庫更新模型......我沒有看到附加選項卡下的表,但只有「刷新」選項卡下。
我怎樣才能將它們重新添加?
我有一個包含5個表格的db。在開始時,我已經添加了這些表格,但之後決定刪除一些由於某些關係編譯錯誤。重新添加到實體模型(edmx)時不顯示錶格
現在,當我想將它們添加回來,我打開EDMX文件 - >從數據庫更新模型......我沒有看到附加選項卡下的表,但只有「刷新」選項卡下。
我怎樣才能將它們重新添加?
爲了表重新添加到您的模型,你首先需要從模型中刪除該表。 (表的列表是可見的[model.Store]樹(見「模型瀏覽器」 pane-你可以單擊鼠標右鍵菜單打開它)。 當您運行「從數據庫更新模型......」該表將出現在「添加」選項卡中的「更新嚮導」的第一步
步驟來完成:
要刪除所有對錶的引用您的模型:
非常好的答案;這幫助我解決了這個問題。 我不知道自這個答案發布以來事情是否發生了變化,但現在解決方案似乎更加簡單。使用Model Browser窗口查看edmx文件,並找到要在Store樹中重新添加的表格。只需刪除節點,保存edmx,然後表格將在「添加表格」對話框中再次出現。 – 2012-07-16 11:14:41
你想讓它在模型中刪除後重新添加的實體。
除了編輯edmx文件還有另一種方法來做到這一點。
您將不得不臨時從數據庫中刪除該表。
注:我只這如果數據庫是不是在生產呢!
所以在SQL Server Management Studio中第一創建一個腳本:
右擊與您的模型中缺失的實體對應表(一個或多個)。選擇'Script Table as','CREATE To','新查詢編輯器窗口'。
第二步是刪除表。再次右鍵單擊並選擇「刪除」。確認刪除。
早在Visual Studio中做模型的更新。
返回到SQL Server Management Studio並運行運行您剛剛創建的'create'腳本。
表格將重新添加到您的數據庫中。
在Visual Studio中,您現在可以再次執行更新,您的表格將顯示在「添加」標籤下!
除了上述需要從模型中刪除的引用列表,請考慮刪除AssociationSetMapping元素以及如果您的表與其他表具有關聯關係。
我讀這篇文章,其他搜索選項,但最後我發現了另一個回答,幫助我短了這個問題。
從錯誤消息看起來像你的一個表/視圖沒有 的主鍵。 EF需要每個表都有一個主鍵,以便 生成實體鍵。您仍然可以運行您的應用程序, 但我強烈建議您按照警告添加主鍵。
更新
如果一段時間後,你所做的一切都是罰款,仍然沒有體現出任何的變化添加新列或更改數據類型。
的這個嘗試手動更新的最佳方式,仍然是沒有希望的,那麼作爲建議@mathijsuitmegen,刪除和添加表,但這是喜歡最後的選擇。
這是我的問題。缺少我正在導入的表上的主鍵。 – 2016-12-21 10:07:58
更簡單的解決方法是在Model Browser
下
[modelName].Store -> Tables/ViewS
刪除該表沒有顯示出來。然後右鍵點擊模型「update from database
」,表格應該在那裏。
右擊在EDMX水平,說添加到TFS。 – user6225888 2017-02-07 00:57:37