为什么`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 +并找到它