在POCO类中使用枚举



我正在用。net Framework 4.0和c#开发一个实体框架6.1.3库。

我有一个关于是否可以在POCO类中使用枚举的问题。

我有这个类和enum:

public class MyClass
{
    public byte MyClassId { get; set; }
    public string Name { get; set; }
    public byte CodeType { get; set; }
    public byte HelperCodeType { get; set; }
    public virtual ICollection<Code> Codes { get; set; }
    public virtual ICollection<HelperCode> HelperCodes { get; set; }
}
public enum CodeTypes : byte
{
    Generated = 0,
    PrePrinted = 1,
    PrePrintedAndPreLoaded = 2,
    PreLoaded = 3,
    NotUsed = 4
}

我想知道我是否可以用enum类型而不是byte更改MyClass字段CodeTypeHelperCodeType:

public class MyClass
{
    public byte MyClassId { get; set; }
    public string Name { get; set; }
    public CodeTypes CodeType { get; set; }
    public CodeTypes HelperCodeType { get; set; }
    public virtual ICollection<Code> Codes { get; set; }
    public virtual ICollection<HelperCode> HelperCodes { get; set; }
}

在POCO类中使用枚举而不是字节是个好主意吗?

Entity Framework从一段时间开始支持枚举(如果我没记错的话,从第5版开始)。在数据库中,它将使用枚举的数字类型作为列类型,在您的示例中,它将添加byte列。

我认为如果一些业务逻辑依赖于字段,枚举是一个好主意。

相关内容

  • 没有找到相关文章

最新更新