概念類型中的成員數與對象端類型上的成員數不匹配

entity-framework

我正在使用.net framework 3.5 SP1。

在Sql Server中向一個表添加一個列(以及將現有列從允許空值更改為不可空)後,我無法再運行我的項目而不會出現此錯誤:

概念類型“XBRLDimensionalModel.axis_t”中的成員數與對象端類型“EOL.Xbrl.Persistence.Data.axis_t”上的成員數不匹配。確保成員數量相同。

我放棄了嘗試查找並修復生成的代碼。我現在已經刪除了所有本地實體相關文件,並從頭開始重新生成它們並添加一個新項目(ADO.NET實體數據模型)。我仍然得到這個錯誤。

我現在可以運行項目的唯一方法是撤消所有掛起的更改並使用源代碼管理中的最後一個版本,當然也可以將兩個已修改的數據庫列更改為可為空。

從我到目前為止閱讀的所有內容來看,我似乎應該能夠從數據庫中“更新”我的模型。這導致了這個例外(上圖)。但現在我完全感到困惑,即使完全重新生成實體模型和支持類,我仍然會遇到這個錯誤。

我在edmx模型上更改了屬性:“元數據工件處理”到“複製到輸出目錄”。 Designer.cs,csdl,msl,ssdl文件似乎都與最新的DB更改一致。

第一次引用entityModel實例時拋出異常。因此,它是在更改的表中加載或保存數據之前。

我出錯的任何想法?謝謝,TG

一般承認的答案

以XML格式打開模型。從CSDL中刪除對該類型的所有引用。保存並關閉,然後在GUI中重新打開。現在您應該能夠像往常一樣更新模型。如果這不起作用,請執行相同的操作,但也要從MSL中刪除。


熱門答案

如果在Visual Studio外部更改EDMX文件,也會發生此錯誤。右鍵單擊EDMX文件,然後單擊“運行自定義工具”



Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因