我在mvc中使用实体框架。我在生成视图时收到此错误。我正在使用带有读/写操作和视图的MVC控制器,使用EF。我正在尝试使用scaffold模板生成列表。
此实体框架自动生成类
namespace WebApplication3.Models
{
using System;
using System.Collections.Generic;
public partial class Employee
{
public int EmployeeId { get; set; }
public string Name { get; set; }
public string Gender { get; set; }
public string City { get; set; }
public Nullable<System.DateTime> DOB { get; set; }
public Nullable<int> DepartmentId { get; set; }
public virtual TblDepartment TblDepartment { get; set; }
}
}
这是我的控制器代码:
public ActionResult EmployeesByDep()
{
var employees = db.Employees.Include("TblDepartment").GroupBy(x => x.TblDepartment.DepName)
.Select(y => new TotalDepartments
{
DepName = y.Key,
Total = y.Count()
}
).ToList().OrderByDescending(y=>y.Total);
return View(employees);
}
型号代码:
public string DepName { get; set; }
public int Total { get; set; }
答案 0 :(得分:0)
问题是因为您没有声明密钥。
您应该创建一个新类EmployeeMetaData.cs
使用:
[MetadataType(typeof(EmployeeMetaData))]
public partial class Employee
{
}
public class Employee
{
[Key]
public int EmployeeId { get; set; }
}
添加:使用System.ComponentModel.DataAnnotations
;