2011-04-22 44 views
6

我正在嘗試使用mvc3方法在數據庫中設置字段。當我運行程序時,我得到一個無法使用mvc3定義模型的密鑰

System.Data.Edm.EdmEntityType::EntityType'CarModel'沒有定義鍵。定義此EntityType的關鍵字。

我的模型看起來像這樣

public class CarModel 
{ 

    public string VIN { get; set; } 
    public string Make { get; set; } 
    public string Model { get; set; } 
    public string Year { get; set; } 
    public string Color { get; set; } 
    public string Mileage { get; set; } 
    public string Description { get; set; } 
} 

我看到那裏的人添加ID,但數據庫可是沒有一個ID屬性。當我嘗試在VIN上添加[Key]時,它是數據庫中的主鍵。它會在鍵下出現紅色的波形錯誤。

看來我缺少一些參考。

+0

關鍵屬性的確切錯誤信息是什麼? – 2011-04-22 23:16:34

+0

System.Data.Edm.EdmEntityType :: EntityType'CarModel'沒有定義鍵。定義此EntityType的關鍵字。 System.Data.Edm.EdmEntitySet:EntityType:EntitySet Cars基於沒有定義鍵的類型CarModel。 – Bryan 2011-04-22 23:17:17

+0

無法找到類型或名稱空間'key' – Bryan 2011-04-22 23:18:13

回答

9

你缺少的參考可能是System.ComponentModel.DataAnnotations;如果你輸入Ctrl-,是不是爲你添加的。與光標在旁邊[Key]

+0

這正是我失蹤的參考。謝謝你的幫助。當我鍵入ctrl-時什麼也沒有發生?應該是 – Bryan 2011-04-23 00:01:00

+1

Ctrl-。 (Ctrl和句點鍵)應該給你一個對話框,允許你輕鬆地導入在特定命名空間中定義的類型。遊標必須位於紅色下劃線文字旁邊。 – 2011-04-23 00:13:16

3

實體框架要求每個實體都定義一個主鍵。如果你只是想刪除的錯誤,然後補充一點:

[Key] 
public int id { get; set; } 

public CarModel() 
{ 
    id = 1; 
} 
+0

[密鑰]不起作用,它給出了一個紅色的波形錯誤,指出「無法找到類型或名稱空間鍵」 – Bryan 2011-04-22 23:34:09

+0

我必須在密鑰被識別之前構建我的項目我的添加控制器命令。 – Yack 2011-06-09 03:24:00

+3

DataAnnotations命名空間是鍵屬性所在的位置。 – BentOnCoding 2011-06-09 13:32:24

相關問題