2014-09-18 53 views
3

我正嘗試針對mssql 2012或2008數據庫服務器和表集中的Visual Studio 2013中的數據庫生成我的edmx文件。 edmx文件生成沒有問題,並且一切看起來都很好,直到我嘗試編譯該項目。表示數據庫表的每個單個對象均會出現以下消息。問題在Visual Studio 2013中生成.edmx EF6

  1. 使用命名空間指令只能應用於命名空間; 「系統」是一種沒有命名空間
  2. 類型名稱「集合」不存在類型存在「Model.blah.System」

  3. 類型名稱「日期時間」中不存在類型「 Model.blah.System」

的使用語句正確定位所產生的代碼命名空間聲明中,就像所有其他的.edmx EF文件,我在過去已經看到了。

所有數據庫對象的錯誤消息都是一致的。無論我如何生成我的edmx模型,它都是無用的,不可用。

我正在運行Visual Studio 2013更新2.我嘗試過使用EF5和EF6無濟於事。我需要一些幫助,弄清楚爲什麼我的生活不能正確地生成我的EF模型。

回答

7

我猜你有一個命名空間衝突,編譯器因爲定義了一個與System命名空間不明確的System類而失敗。

將您的System類重命名爲其他內容來解決您的問題。

+0

當問題第一次出現時,我開始編輯幾乎所有生成的代碼文件,以將名稱空間外的用戶移動。但我不應該。這是最新的visual studio編輯器或4.51 .net框架的問題。我認爲這可能是一個命名空間衝突,因爲你建議,所以我創建了一個沒有任何內容的獨立的新項目,但EF生成的代碼,它仍然不能編譯。 – 2014-09-19 13:47:43

+0

你在名稱中有** System **嗎?數據庫,數據庫表,屬性名稱等? – 2014-09-19 16:28:43

+0

是的,在我的模型中有一個名爲「System」的表。謝謝。 – 2018-01-31 20:08:01

4

發現問題我有一個系統表,可以代表測量系統。當EF處理這些表時,它會從表的末尾刪除s,導致發生名稱衝突。我要結束這個問題,但是想要讓人們知道這個問題。

+0

謝謝你,讓我從幾個小時的挫折中解救出來 – 2018-01-31 20:07:21