Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么“DatabaseGenerated(DatabaseGeneratedOption.Identity)”在MVC4中不起作用_C#_Entity Framework_Ef Code First_Asp.net Mvc Migration - Fatal编程技术网

C# 为什么“DatabaseGenerated(DatabaseGeneratedOption.Identity)”在MVC4中不起作用

C# 为什么“DatabaseGenerated(DatabaseGeneratedOption.Identity)”在MVC4中不起作用,c#,entity-framework,ef-code-first,asp.net-mvc-migration,C#,Entity Framework,Ef Code First,Asp.net Mvc Migration,我试图将我的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")]

我试图将我的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.DatabaseGenerateOptions.Identity]属性中出错。我不知道有什么问题。有人知道吗

更新

以下是错误:

无法指定类型或命名空间名称“DatabaseGeneratedAttribute” 发现是否缺少using指令或程序集引用

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

DatabaseGeneratedAttribute位于
.NET 4.5中的System.ComponentModel.DataAnnotations.Schema命名空间属性如果要在.NET 4中使用此属性,可以使用EntityFramework 6的预发布版本,甚至是夜间版本来执行此操作,在Manage NuGet Pakages窗口中,从窗口顶部的下拉列表中,选择Include Prerelease

要更新到夜间版本,请在“打包管理器设置”中添加此包源:

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

有关完整的指南,请参见。

在某些情况下,您需要将框架从4.5或更低版本更改为4.5.1,然后安装Entity framework 6+,然后会发现它。

首先,您的问题与MVC 3或4无关,因为您的代码处理的是Entity framework。第二,你没有说你使用的是什么版本的EF,也没有说你犯了什么错误。由于我的灵力今天不起作用,你必须尝试更具体一些。@MystereMan我刚刚用VS2012创建了一个互联网应用程序,它本身就有EF。我不知道是什么版本!如果你能在问题中包含实际的错误信息,那会很有帮助。我建议你多学习一些你正在使用的工具。仅供参考,是EF 5和C5,不是C4。您可以通过查看已安装的NuGet软件包来了解所有这些。问题编辑@MystereMan:我不知道需要这个版本!!!而且它是.NETFramework4.5而不是.NETFramework5!!!FWI:您需要在项目中引用System.ComponentModel.DataAnnotations谢谢!虽然我不需要安装EF6,因为我的项目中已经有了EF的一个版本,但这对我来说很有效。