gpt4 book ai didi

asp.net-mvc - EntityFramework.dll 中发生类型 'System.Data.Entity.ModelConfiguration.ModelValidationException' 的异常

转载 作者:行者123 更新时间:2023-12-01 23:41:44 24 4
gpt4 key购买 nike

错误 - EntityFramework.dll 中发生“System.Data.Entity.ModelConfiguration.ModelValidationException”类型的异常,但未在用户代码中处理附加信息:在模型生成过程中检测到一个或多个验证错误:MVCApplication.Models.Employee: : EntityType 'Employee' 没有定义键。定义此 EntityType 的键。员工:EntityType:EntitySet“员工”基于没有定义键的类型“员工”。

Controller 代码:

namespace MVCApplication.Controllers
{
public class EmployeeController : Controller
{
// GET: Employee
public ActionResult Detail(int id)
{
EmployeeContext employeecontext = new EmployeeContext();
Employee emp = employeecontext.Employees.Single(x => x.Emp_Id ==id);//here its throwing an exception
return View("employee",emp);
}
}

这是我的模范员工类(class):

namespace MVCApplication.Models
{
[Table("Employee")]
public class Employee
{
public int Emp_Id { get; set; }
public string Emp_Name { get; set; }
public string Designation { get; set; }
public string City { get; set; }
public string State { get; set; }
public string Country { get; set; }
}
}

这是我的员工上下文类:

namespace MVCApplication.Models
{
public class EmployeeContext : DbContext
{
public DbSet<Employee> Employees { get; set; }
}
}

最佳答案

您必须为模型设置属性[Key],如下所示

[Table("Employee")]
public class Employee
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Key]
public int Emp_Id { get; set; }
public string Emp_Name { get; set; }
public string Designation { get; set; }
public string City { get; set; }
public string State { get; set; }
public string Country { get; set; }
}

仅当您的数据库生成 ids 时才使用 [DatabaseGenerate(DatabaseGenerateOption.Identity)],否则您只需使用 [Key] 属性。

关于asp.net-mvc - EntityFramework.dll 中发生类型 'System.Data.Entity.ModelConfiguration.ModelValidationException' 的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36405897/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com