我尝试使用asp.net MVC4创建Web应用程序我在我的控制器文件夹中创建了TeacherController,模型最后也添加了Db-context。我正在使用sql server。
像这样的DbContext
using MvcTest2.Models;
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Web;
namespace MvcTest5.Models.nuwan600
{
public class nuwan600:DbContext
{
public DbSet<Qualifications> Qualifications { get; set; }
public DbSet<School> School { get; set; }
public DbSet<Teacher> Teacher { get; set; }
}
}
教师模型
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Web;
namespace MvcTest2.Models
{
[Table("Teachers")]
public class Teacher
{
[Key]
public int TeacherID { get; set; }
public String Name { get; set; }
public int NIC { get; set; }
public String Address { get; set; }
public int Telephone { get; set; }
public int SchoolID { get; set; }
public int QualificationID { get; set; }
}
}
和TeacherController
public ActionResult Index()
{
int id = 1;
nuwan600 Teachers = new nuwan600();
Teacher teachermodle = Teachers.Teacher.Single(emp => emp.TeacherID==id);
return View(teachermodle);
}
当我运行此操作时,我遇到了运行时错误(在此行:Teacher teachermodle = Teachers.Teacher.Single(emp => emp.TeacherID==id);
)
在模型生成期间检测到一个或多个验证错误:
MvcTest5.Models.nuwan600.Qualifications:EntityType'Qualifications'没有定义键。定义此EntityType的键 资格:EntityType:EntitySet'Qualifications'基于没有定义键的'Qualifications'类型 System.Data.Entity.ModelConfiguration.ModelValidationException
如何解决这个问题?错误需要帮助。
答案 0 :(得分:2)
解决方案是...阅读错误消息。 ; - )
在模型生成期间检测到一个或多个验证错误:
MvcTest5.Models.nuwan600.Qualifications :: EntityType&#39; Qualifications&#39;没有定义键。定义此EntityType的键。 ...
在Teacher
课程中,您可以使用TeacherID
属性定义[Key]
是一个键。对Qualifications
课程执行相同操作:使用[Key]
属性标记(主要)密钥。