如何将枚举类型映射到tinyint

Boy*_*smo 4 c# enums entity-framework fluent asp.net-mvc-4

我是在想.是否有可能在流畅的api或任何Enum类型的映射tinyint

比如说,

public enum PaperType
{
  Rough=1,
  Smooth=2,
}

public class TestPaper
{
   public PaperType PaperType { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

如果正确运行迁移,它将映射到int我不想要的.我想分配,tinyint以便它不会占用太多空间.int 4bytestinyint 1byte有什么想法?谢谢!

Hab*_*bib 6

你可以做:

public enum PaperType : byte
{
  Rough=1,
  Smooth=2,
}
Run Code Online (Sandbox Code Playgroud)

但不要那样做,那就是过早的优化.如果您的应用程序性能出现问题,只能进行这样的优化.(默认情况下,铺设类型enumint这样的,我不确定如果有一个byte枚举类型可以保存任何东西,它将被视为int.如果你打算使用一个数组enum,在这种情况下你会得到它可能是有用的byte[])