它只是我或似乎沒有工作?EF5枚舉映射到外部類型問題
在模型中,我首先拖入一個簡單的表並創建一個枚舉(通過轉換爲枚舉)。現在我嘗試了在對話框中創建和不創建枚舉項目,但是如果我勾選了參考外部類型,我會得到:
指定的模式無效。錯誤:對於概念類型 'ControlPanelDevModel.EventType'找不到對應的對象層 類型。
它只是我或似乎沒有工作?EF5枚舉映射到外部類型問題
在模型中,我首先拖入一個簡單的表並創建一個枚舉(通過轉換爲枚舉)。現在我嘗試了在對話框中創建和不創建枚舉項目,但是如果我勾選了參考外部類型,我會得到:
指定的模式無效。錯誤:對於概念類型 'ControlPanelDevModel.EventType'找不到對應的對象層 類型。
看看我的博文 - 它展示瞭如何創建和使用外部enum類型:http://blog.3d-logic.com/2012/09/11/using-exisiting-enum-types-in-entity-framework-5/ 如果您正在使用附帶的.NET Framework EF5 RTM(而不是EF六月CTP 2011)4.5你不需要指定EDM枚舉類型的成員。重要的是確保EDM枚舉類型名稱與外部CLR枚舉類型的名稱匹配,並且基礎類型相同(如果未指定基礎類型,則將使用Edm.Int32 - 與C#/ VB類似。 NET - 使用int)。 如果您決定使用EDM枚舉類型對成員進行驗證,則不得有名稱和/或值與C#/ VB枚舉類型成員不同的成員。您也不必在EDM枚舉類型中指定CLR枚舉類型的所有成員(實際上,正如我上面所指出的,您可能沒有任何成員,並且所有內容都應該可以工作)。
好吧,作爲上述的補充,我發現我已經收到了同樣的錯誤時,映射外部枚舉數據庫類型的tinyint。
解決的辦法是讓您的Enum從類型「字節」繼承本文中指定的。
Tinyint(byte),SmallInt(Int16) not compatible with Enum in EF5
謝謝!爲了我的下一個發展,我必須記住這一點...不幸的是,我不得不恢復到EF 4.4,因爲我的客戶無意將服務器升級到2008R2。 –
而downvote的原因是......? – Pawel