2011-03-30 22 views

回答

0

如果你只從表中讀取數據,你可以嘗試創建注塑領域爲int的景色,那麼你的實體映射到視圖。

除此之外,我認爲你幾乎沒有運氣。這是實體框架中的一個錯誤;要麼改變字段類型,切換遠離EF,要麼等待MS修復錯誤。

+0

嗯,我已經轉換所有ID從「decimal」到「Int64」。謝謝... – BrunoLM 2011-03-30 03:19:11

0

您是否試過Entity Framework 4.1 Release Candidate?該錯誤被標記爲固定的月份左右。

+0

嗯還沒有。我使用4.0。我會稍後再試... – BrunoLM 2011-03-30 19:20:20

+0

我遇到同樣的問題。但我只是用EF 4.3進行測試,它仍然是同樣的問題:/。而且我無法更改源數據庫 – J4N 2012-09-17 15:45:28

1

我有同樣的問題,今天我解決它通過把這些兩個選項爲False的DbContext對象:

this.ContextOptions.LazyLoadingEnabled = false; 

this.ContextOptions.ProxyCreationEnabled = false; 

這似乎是一個序列化的問題與代理的創建。

我首先嚐試將我的類型映射到EDMX文件中的Int32,但這給了我非常低的性能。

0

我遇到了同樣的問題,並且很難說:它還沒有被微軟修復。我試過了EF 4.1和EF 5.0,但是它們沒有包含任何解決這個問題的方法。

到目前爲止唯一的解決方法是將所有十進制主鍵更改爲Int64。當然,這是數據庫模式的改變,這不是你想要的。另一種選擇是使用32位環境,該錯誤僅存在於64位中。

由PJ(上11/11/2011在上午11時46分)在https://connect.microsoft.com/VisualStudio/feedback/details/620031/invalidprogramexception-using-entityframework-poco-template-table-w-decimal-primary-key註釋不健全的前途可言,也許它甚至沒有固定在.NET 4.5