2011-04-04 51 views
1

我有緊急的和無法解釋的問題,所以任何幫助,將不勝感激。我擁有兩個完全相同的數據庫,但每個數據庫中都有不同的數據。無效的列名

我一直在使用LINQ到EF Web應用程序,直到我在連接字符串一切都改變了數據庫工作正常。即使數據庫完全一樣,我收到錯誤:「無效的列名'tema_id'。」問題是,「tema_id」不以任何這兩個數據庫的存在,然而,不知何故它在.edmx文件存在。映射的名稱應該是「aktivnost_id」,而不是「tema_id」現在的樣子。

我試着更新從數據庫模型,但在這種情況下,一切變得錯了,我得到了幾十種不同的錯誤在錯誤列表。

我提供的映射細節截圖爲有問題的表(你可以看到「tema_id」,這應該是「aktivnost_id」)。

我知道我的解釋可能是有點混亂,但如果需要任何額外的信息,我將提供它。

Current mappings

+0

數據庫是完全一樣的,除了他們有不同的數據...大聲笑 – 2011-04-04 13:51:30

+0

我的意思是數據庫設計...即使它的數據是相同的,除了在一個表是空的。 – 2011-04-04 13:53:42

回答

2

這我很難給出一個完整的答案,而不當您嘗試更新發生的錯誤的完整細節;然而,我會非常想把EDMX編輯爲XML,用「find」找到tema_id,然後直接修復。

如果不出意外,這是快試試:)

+0

感謝您的回覆,這不是問題所在,但很高興知道.edmx實際上是XML文件,並且可以在Visual Studio之外進行編輯! ;)更新模型後,通過錯誤修復錯誤解決了問題。 – 2011-04-04 19:38:36

2

你有沒有嘗試過編輯的.edmx文件直接到符合實際的表結構?

+0

謝謝你的回覆。我試過編輯.edmx文件,但不幸的是這不是解決方案。更新模型後,我通過錯誤修復錯誤來解決問題。 – 2011-04-04 19:41:14

2

嘗試通過edmgen.exe

手動視覺工作室之外產生完整的數據訪問層使用下面的命令EF4(調整參數以反映分貝名,用戶名,密碼)

@"%windir%\Microsoft.NET\Framework\v4.0.30319\edmgen.exe" /mode:fullgeneration /c:"Data Source=tcp:127.0.0.1;Initial Catalog=your_database;User ID=sa;Password=your_password;Integrated Security=False;" /project:DataContext /entitycontainer:DataContext /namespace:Project /language:CSharp /pluralize

+0

謝謝你提供的答案,但它並沒有解決我的問題。在更新模型後,我必須修正錯誤。乾杯! – 2011-04-04 19:42:40

+0

然後修復這些錯誤,你很好去。 – 2011-04-04 23:34:49