2011-08-23 39 views
1

我似乎没有弄清楚如何在ASP.NET MVC 3模型中使用枚举值(使用代码优先方法),以便它们存储在数据库中并且保存。在存储在数据库中的模型中使用枚举值

我的模型代码如下所示:

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,但只包含列:

  • 编号
  • 日期
  • 标题

如何使它在数据库中存储Type?还应该使用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); 
    } 

回答

相关问题