使用数据库的第一个设计和具有TINYINT(或SMALLINT)柱:
[MyEnumColumn] [tinyint] NOT NULL
我在EDM映射此列枚举类型与
External Type: NSpace.MyEnumType
Name:MyEnumType
UnderlyingType:Byte
凡NSpace.MyEnumType的定义如下:
public enum MyEnumType
{ One, Two, Three, All }
只是想从上下文中加载实体时,出现此错误:
指定的架构是无效的。 错误:
没有相应的对象层类型可以为概念类型中找到“EntityDataModel.MyEnumType”。
下面的信息可能会解决以前的错误有用:
基础类型CLR枚举类型不匹配的基础类型EDM枚举类型的。
亦如如果我使用[SMALLINT]和[Int16的]但是一旦更改数据库[INT]和枚举类型为[的Int32]错误消失。
为什么我需要存储在4字节为(INT)数据字段,而不是1字节(TINYINT)枚举值时在99.9%的时间枚举不超过256个的项目还是我失去了什么东西?