美好的一天,
我一直在学习一些实体框架,我来到这个代码
public class Test
{
public int Id { get; set; }
public string name { get; set; }
public testEnum testEnum { get; set; }
}
public enum testEnum {
numero1=1,
numero2=2
}
然后我运行add-migration xxxxx和update-database,问题是当我去SQL服务器时,我无法在任何地方看到枚举。 我的问题是: 1.枚举发生了什么,我怎样才能在SQL服务器中看到它? 2.何时使用枚举而不是如下表:
public class EnumReplace{ public int Id { get; set; }
public int value{ get; set; }
}
谢谢。
答案 0 :(得分:0)
你必须在班上有枚举。像这样的东西:
public testEnum MyProperty{ get; set; }
所以基本上你不能把枚举作为一个表。您可以将枚举作为表中某个属性的类型。
答案 1 :(得分:0)
1.What happened with the enum and how can I see it in SQL server?
枚举以整数形式存储在数据库表中。您将无法在数据库中看到枚举。在从数据库中检索值时,EF负责将基础类型转换为定义的枚举。
在Entity Framework中,枚举可以具有以下基础类型:Byte,Int16,Int32,Int64或SByte。 首先阅读有关EF代码中枚举支持的更多信息here
2. When do I use enum instead of a table like the following:
当我们为属性/字段允许一组预定义的值时,我们通常使用枚举。例如,
enum Days
{
Sat,
Sun,
Mon,
Tue,
Wed,
Thu,
Fri
};
您还可以使用已标记的枚举,详细了解枚举here。