簡體   English   中英

找不到類型或命名空間名稱“Key”

[英]The type or namespace name 'Key' could not be found

實體框架的 [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; }
}

我收到這些錯誤:

找不到類型或命名空間名稱“Key”(您是否缺少 using 指令或程序集引用?)

找不到類型或命名空間名稱“KeyAttribute”(您是否缺少 using 指令或程序集引用?)

我已經添加了這個使用:

using System.Data.Entity;

我將這些引用添加到項目中:

EntityFramework
EntityFramework.SqlServer
System.ComponentModel.DataAnnotations

我正在使用 EF6 和 VS2012。

我缺少什么參考?

在 EF6 中,System.Data.Entity 已替換為 System.Data.Entity.Core。 確保您不再引用任何 EF5 dll 並將您的 using 包含替換為

System.Data.Entity.Core

此外, [Key]來自

System.ComponentModel.DataAnnotations

命名空間。 如果您將它包含在您的類的 using 語句中,它應該可以編譯。

對於我自己,我有一個小寫的 [key] 而不是 [Key],所以當你遇到這個問題時一定要檢查一下。

在創建 asp.net Webforms 應用程序時,我在使用 Visual Studio 2010 時遇到了同樣的錯誤。 我遵循了這些步驟,它對我有用。

  1. 打開 nugetpackage manager 並搜索 System.data.entity。
  2. 安裝它。
  3. 放置使用 System.ComponentModel.DataAnnotations 的參考;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM