我是ASP.NET MVC的新手,我正在努力学习,但我有以下错误:
“无法检索'AEMOS.Models.Proyects'的元数据。在模型生成期间检测到一个或多个验证错误:
Proyects :: EntityType'Proyects'没有定义键。定义此EntityType的密钥。
Proyects:EntityType:EntitySet'Proyects'基于没有定义键的'Proyects'类型。
我已经在Google上搜索了这个错误,即使在StackOverflow中也是如此,但是无法取得成功。
这是我的班级:
using System;
using System.ComponentModel.DataAnnotations;
using System.Globalization;
namespace AEMOS.Models
{
public class Proyects
{
[Key]
public int ProyectsId { get;set;}
public string Name { get; set; }
public int Year { get; set; }
public Boolean Active = false;
}
}
我为控制器创建选择了MVC 5 Controller with views, using Entity Framework
。在下一个窗口中,我选择了模型Proyects,数据上下文ApplicationDbContext
和选定的布局。
我尝试了多个类配置(没有[Key]
,键名为Id而不是ProyectsId,...)。
你知道发生了什么吗?
答案 0 :(得分:1)
我很确定之前已经回答了这个问题,但我找不到重复的内容。
脚手架向导根据实体框架实体类型生成控制器和视图,它会查看您的二进制文件,而不是您的代码。
因此,在对向导进行更改以获取这些更改(例如添加Key属性)之后,您需要编译(构建)包含实体类型的程序集。