2011-06-20 127 views
1

使用Visual Studio 2010 SP1,SQL Server 2008:VS 2010 EDMX存儲過程丟失

主板最近失敗了,我將所有工作都遷移到了一臺新計算機上。我的項目使用實體數據模型連接到一個sql數據庫。在遷移之前,我已經完成了所有工作,但現在所有的存儲過程都從模型瀏覽器中消失了。功能導入仍然存在,但它們顯然不再起作用。

問題是,當我去「從數據庫更新模型」存儲過程不顯示。大概是因爲它們已經被添加了,並且更新窗口隱藏了你應該已經擁有的東西。刷新標籤不會顯示它們,或者當我點擊刷新時做任何事情。它們仍然存在於服務器上,所以我知道它隱藏了它們,因爲它認爲它們已經在那裏了。

我該如何刪除導致VS認爲他們已被添加的任何原因,以便我可以重新添加或讓它們刷新?我真的不想刪除模型並重新開始。

回答

2

刪除它們。如果你沒有看到在模型瀏覽器中打開EDMX作爲XML功能的存儲過程,並檢查是否由<!-- SSDL content -->介紹部分包含與Function元素 - 這是你的存儲過程。然後檢查由<!-- CSDL content -->引入的部分是否包含任何FunctionImport元素 - 這是您的函數導入,最後檢查由<!-- C-S mapping content -->引入的部分包含andy FunctionImportMapping元素 - 即過程和函數導入之間的映射。每個缺失的存儲過程在每個部分中應該只有一條記錄。如果它沒有備份您的EDMX並刪除存儲過程的剩餘記錄。然後檢查它是否出現在嚮導中。

+0

我刪除了存儲過程和functionimportmappings的條目,但它們仍未顯示在更新窗口中。存儲過程的名稱不在edmx文件中的任何其他位置。他們存儲的是另一個地方嗎? – Tyrsius

+0

不,這看起來像VS的一些非常奇怪的問題。 –

+0

這沒有意義。他們在服務器上,所以VS選擇不出於某種原因顯示它們。它必須將它們保存在某個地方。 – Tyrsius

0

使用實體模型瀏覽器(在edmx designer - > model browser中右鍵單擊)並瀏覽到存儲過程節點。

您可以編輯或從那裏

+5

他們沒有出現在那裏。這是整個問題。 – Tyrsius