如何将枚举类型映射到tinyint

本文关键字:映射 tinyint 类型 枚举 | 更新日期: 2023-09-27 18:19:57

我只是想知道。在fluent api或任何东西中,Enum类型是否可能映射为tinyint

例如,

public enum PaperType
{
  Rough=1,
  Smooth=2,
}
public class TestPaper
{
   public PaperType PaperType { get; set; }
}

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

如何将枚举类型映射到tinyint

你可以做:

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

但不要这样做,这是过早的优化。只有当您的应用程序性能出现问题时,才能进行这样的优化(默认的enum下放类型是int,所以我不确定将byte作为枚举类型是否能为您节省任何东西,它将被视为int。如果您计划使用enum的数组,这可能会很有用,在这种情况下,您将获得byte[]

我不确定这是你想要的:

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