实体框架5中的代码优先枚举未添加到数据库中

本文关键字:枚举 添加 数据库 框架 代码 实体 | 更新日期: 2023-09-27 17:54:50

我有一个问题,让枚举映射到使用实体框架的数据库。我设置了一个超基本类来测试我的问题:

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脚手架创建控制器,视图和DB,但是,当我查看DB时,有一个名为Person的表,只有一列- PersonId -但没有性别列

额外信息:使用MVC 4针对。net 4.5和使用实体框架5.0(甚至双重检查dll版本),并连接到(LocalDb)'V11.0。

我试过把性别改成:

public enum Genders : Byte
{
    Female = 0, 
    Male = 1
}

我甚至试着把性别移到一个单独的类,因为一个答案建议。

我发现一篇MSDN文章设置类的方式和我一样,唯一的区别是他们使用控制台应用程序而不是MVC。

我错过了什么吗?

实体框架5中的代码优先枚举未添加到数据库中

必须在任何类之外定义enum 。不要将其嵌入到类中。