无法在mvc中检索xyz.model.xxx的元数据

时间:2017-02-11 23:56:05

标签: c# asp.net-mvc asp.net-mvc-5 entity-framework-6

我在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; }

1 个答案:

答案 0 :(得分:0)

问题是因为您没有声明密钥。

您应该创建一个新类EmployeeMetaData.cs

使用:

[MetadataType(typeof(EmployeeMetaData))]
public partial class Employee
{  
}
public class Employee
{
   [Key]
   public int EmployeeId { get; set; }
}

添加:使用System.ComponentModel.DataAnnotations;