Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/301.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# 无法使用mvc3为模型定义键_C#_Asp.net Mvc 3 - Fatal编程技术网

C# 无法使用mvc3为模型定义键

C# 无法使用mvc3为模型定义键,c#,asp.net-mvc-3,C#,Asp.net Mvc 3,我试图使用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

我试图使用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]时,VIN是数据库中的主键。它在键下给出一个红色的扭曲错误


看来我缺少了一些参考。

实体框架要求每个实体定义一个主键。如果您只想删除错误,请添加以下内容:

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


您缺少的参考可能是
System.ComponentModel.DataAnnotations
;如果键入Ctrl-,则不会为您添加此选项。光标位于键属性的确切错误消息是什么?System.Data.Edm.EdmEntityType::EntityType“CarModel”未定义键。定义此EntityType的键。System.Data.Edm.EdmentySet:EntityType:EntitySet Cars基于未定义键的CarModel类型。找不到类型或命名空间“键”。您使用的是哪个版本的EF?如果EF 4.1,您是使用DB优先、模型优先还是代码优先?CTP 5、4.1无法使用复数表名访问数据库。数据库是首先创建的,在我的控制范围之外,[Key]不起作用,它给出了一个红色的扭曲错误,表示“找不到类型或名称空间'Key'我必须在Add Controller命令识别密钥之前构建项目。DataAnnotations命名空间是密钥属性所在的位置。这正是我缺少的引用。谢谢你的帮助。当我键入ctrl-,什么也没有发生?应该是CTRL-。(Ctrl键和句点键)应该提供一个对话框,允许您轻松导入在特定名称空间中定义的类型。光标必须位于带红色下划线的文本旁边。
public CarModel()
{
    id = 1;
}