我在使用实体框架将枚举映射到数据库时遇到问题。我设置了一个超级基础类来测试我的问题:
public class Person
{
public int PersonId { get; set; }
public Genders Gender { get; set; }
public enum Genders
{
Female, Male
}
}
在以下情况下:
public DbSet<Person> Person { get; set; }
我正在使用 MVC 4 创建映射,我创建了一个新控制器,其中 Person 作为模型,我的上下文作为上下文。MVC 脚手架创建了控制器、视图和数据库,但是当我查看数据库时,有一个名为 Person 的表,其中只有一列 - PersonId - 但没有 Gender 列。
额外信息:使用面向 .Net 4.5 的 MVC 4 并使用 Entity Framework 5.0(甚至仔细检查了 dll 版本)并连接到 (LocalDb)\V11.0。
我尝试将 Genders 更改为:
public enum Genders : Byte
{
Female = 0,
Male = 1
}
正如一个答案所建议的那样,我什至尝试将 Genders 转移到一个单独的班级。
我找到了一篇MSDN 文章,它以与我拥有和工作的方式相同的方式设置类,唯一的区别是他们使用的是控制台应用程序而不是 MVC。
我错过了什么吗???