实体框架的[Key]属性对我不起作用。我有一个console
应用程序,我正在尝试添加此类:
public class Post
{
[Key]
public int IDPost { get; set; }
public string Title { get; set; }
public string Content { get; set; }
public int IDBlog { get; set; }
public virtual Blog Blog { get; set; }
}
我收到这些错误:
类型或命名空间名称'密钥'找不到(你错过了使用指令或汇编引用吗?)
类型或命名空间名称' KeyAttribute'找不到(你错过了使用指令或汇编引用吗?)
我添加了这个:
using System.Data.Entity;
我已将这些引用添加到项目中:
EntityFramework EntityFramework.SqlServer System.ComponentModel.DataAnnotations
我正在使用EF6和VS2012。
我错过了什么参考?
答案 0 :(得分:9)
在EF6中,System.Data.Entity已替换为System.Data.Entity.Core。确保您不再引用任何EF5 dll并使用
替换使用的包含System.Data.Entity.Core
此外,[Key]
来自
System.ComponentModel.DataAnnotations
命名空间。如果你将它包含在你的类的using语句中,它应该编译。
答案 1 :(得分:0)
我在创建asp.net Webforms应用程序时使用Visual Studio 2010得到了同样的错误。我按照这些步骤对我有用。
答案 2 :(得分:0)
对于我自己,我使用的是小写的[key]而不是[Key],因此请务必在遇到此问题时进行检查。