Asp.net mvc 3 在数据库中存储的模型中使用枚举值

Asp.net mvc 3 在数据库中存储的模型中使用枚举值,asp.net-mvc-3,enums,Asp.net Mvc 3,Enums,我似乎不知道如何在ASP.NETMVC3模型中使用枚举值(使用代码优先的方法),以便将它们存储在数据库中并保留下来 我的模型代码如下所示: public class TestNews { public int Id { get; set; } [Required] public DateTime Date { get; set; } [Required] //[EnumDataType(typeof(TestNewsType))]? publi

我似乎不知道如何在ASP.NETMVC3模型中使用枚举值(使用代码优先的方法),以便将它们存储在数据库中并保留下来

我的模型代码如下所示:

public class TestNews
{
    public int Id { get; set; }

    [Required]
    public DateTime Date { get; set; }

    [Required]
    //[EnumDataType(typeof(TestNewsType))]?
    public TestNewsType Type { get; set; }

    [Required]
    public string Title { get; set; }
}

public enum TestNewsType : short
{
    Draft = 0,
    PublishedPublicly = 1,
    PublishedInternally = 2,
    Removed = 3
}
重新创建数据库后,它包含TestNews表,但只包含以下列:

  • 身份证
  • 日期
  • 头衔
如何使它也存储在数据库中的类型?还应该使用EnumDataType注释吗

稍后,我想在控制器操作中使用它,如:

    public ActionResult Latest(int count=5)
    {
        var model = db.TestNews
            .Where(n => n.Type == TestNewsType.PublishedPublicly)
            .OrderByDescending(n => n.Date)
            .Take(count)
            .ToList();
        return PartialView(model);
    }
引入了枚举支持

作为使用CTP的替代方法,MSDN博客上有一篇关于CTP的文章