與枚舉不兼容使用數據庫第一設計和具有TINYINT(或SMALLINT)柱:TINYINT(字節),SMALLINT(Int16類型)在EF5
[MyEnumColumn] [tinyint] NOT NULL
我映射此列枚舉類型在EDM與
External Type: NSpace.MyEnumType
Name:MyEnumType
UnderlyingType:Byte
凡NSpace.MyEnumType這樣定義:
public enum MyEnumType
{ One, Two, Three, All }
只得到嘗試加載實體時,這個錯誤從上下文:
Schema specified is not valid. Errors:
No corresponding object layer type could be found for the conceptual type 'EntityDataModel.MyEnumType'.
The following information may be useful in resolving the previous error:
The underlying type of CLR enumeration type does not match the underlying type of EDM enumeration type.
同樣適用,如果我使用[SMALLINT]和[Int16的]但是一旦更改數據庫[INT]和枚舉類型爲[的Int32]錯誤消失。
爲什麼當99.9%時間的枚舉沒有超過256個項目或我缺少別的東西時,我需要將枚舉值存儲在4Byte(Int)數據字段中而不是1Byte(Tinyint)中?
這也解決了我今天的錯誤。所以+1 – magicandre1981
這節省了我的一天:) +1 – Midas
好吧,如果有人有興趣,是的,當然,你救了我!多謝兄弟!! – CMS