我正在使用 .NET Framework 4.0 和 C# 开发 Entity Framework 6.1.3 库。
我有一个关于是否可以在 POCO 类中使用枚举的问题。
我有这个类和枚举:
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
}
我想知道是否可以使用枚举类型而不是 byte
更改 MyClass
字段 CodeType
和 HelperCodeType
>:
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
列。
如果某些业务逻辑依赖于该领域,我认为枚举是一个好主意。
关于c# - 在 POCO 类中使用枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38069291/