我试图将我的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<Link> Links { get; set; }
}
我的[System.ComponentModel.DataAnnotations.(DatabaseGeneratedOption.Identity)]
属性出错了。我不知道是什么问题。有谁知道?!?
更新
这些是错误:
类型或命名空间名称“DatabaseGeneratedAttribute”不可能 发现(您是否缺少using指令或程序集引用?)
无法找到类型或命名空间名称“DatabaseGenerated”(是 你错过了使用指令或程序集引用?)
答案 0 :(得分:26)
DatabaseGeneratedAttribute
在
.NET 4.5中的System.ComponentModel.DataAnnotations.Schema
名称空间属性
答案 1 :(得分:2)
如果要在.net 4中使用此属性,可以使用Prerelease版本的EntityFramework 6(甚至Nightly Builds)在Manage NuGet Pakages
窗口中从窗口顶部的下拉列表中执行此操作,选择Include Prerelease
。
要更新为夜间构建,请在Pakage Manager Settings
中添加此包源:
http://www.myget.org/F/aspnetwebstacknightly/
有关完整指南,请参阅EF on GitHub。
答案 2 :(得分:1)
在某些情况下,您需要将框架从4.5或更低版本更改为4.5.1,然后安装Entity Framework 6 +并找到它