为什么`DatabaseGenerated(DatabaseGeneratedOption.Identity)`在MVC 4中不起作用

我试图将我的MVC 3项目移动到MVC 4但是当我想移动这个模型时:

public class Link { [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public Guid ID { get; set; } [DisplayName("Shorted URL")] public string SURL { get; set; } [DisplayName("General Link")] public string OriginalURL { get; set; } [DisplayName("Click Count")] public int ClickCount { get; set; } } public class LinkDBContext : DbContext { public DbSet Links { get; set; } } 

我在[System.ComponentModel.DataAnnotations.(DatabaseGeneratedOption.Identity)]属性中出错。 我不知道是什么问题。 有人知道吗?!?

更新

这些是错误:

找不到类型或命名空间名称“DatabaseGeneratedAttribute”(您是否缺少using指令或程序集引用?)

找不到类型或命名空间名称“DatabaseGenerated”(您是否缺少using指令或程序集引用?)

DatabaseGeneratedAttribute位于.NET 4.5中的System.ComponentModel.DataAnnotations.Schema名称空间属性中

如果要在.net 4中使用此属性,可以使用Prerelease版本的EntityFramework 6(甚至是Nightly Builds)来执行此操作,在Manage NuGet Pakages窗口中,从窗口顶部的下拉列表中选择Include Prerelease

要更新为每夜构建,请在Pakage Manager Settings添加此包源:

 http://www.myget.org/F/aspnetwebstacknightly/ 

有关完整指南,请参阅GitHub上的EF 。

在某些情况下,您需要将框架从4.5或更低版本更改为4.5.1,然后安装Entity Framework 6 +并找到它

Interesting Posts