Тип объекта Employee не является частью модели для текущего контекста

#c# #asp.net-mvc #entity-framework

#c# #asp.net-mvc #entity-framework

Вопрос:

Я столкнулся с этой проблемой, я просмотрел несколько сообщений, пожалуйста, ответьте мне, как это решить. ниже приведен мой код

класс контроллера

в этой третьей строке я получаю сообщение об ошибке :

Тип объекта Employee не является частью модели для текущего контекста

 public ActionResult Details(int id)
{
  MvcApplication6.Models.EmployeeContext employeeContext = new MvcApplication6.Models.EmployeeContext();
  MvcApplication6.Models.Employee employee = employeeContext.Employees.Single(x => x.Id == id);
  return View(employee);
}
  

Класс EmployeeContext

 public class EmployeeContext : DbContext
{
    public DbSet<Employee> Employees { get; set; }       
}
  

Класс модели

 namespace MvcApplication6.Models
{
     [Table("tblEmployee")]
     public class Employee
     {
        public int Id { get; set; }
        public string Name { get; set; }
        public string Gender { get; set; }
        public string City { get; set; }
     }
}
  

Имя модели данных объекта Employee.edmx

Комментарии:

1. Это сработает, если вы удалите [Table("tblEmployee")] атрибут? Можете ли вы предоставить общий доступ к своему файлу edmx?

2. Я удалил атрибут [Table(«tblEmployee»)] по-прежнему с той же ошибкой

3. файл edmx, содержащий таблицу Employee со столбцами Id, Name, Gender, City

4. Что вы делаете с этим объектом в представлении?

5. отображение табличных данных, т.е. значений идентификатора, имени, пола, города

Ответ №1:

Если вы используете Entity Framework и генерируете модель из базы данных, возьмите объект, который ‘не является частью модели’, и просмотрите его с помощью диаграммы Модель / сущность (*.edmx). Щелкните правой кнопкой мыши и подтвердите. Затем сохраните и создайте.

Комментарии:

1. Сработало как по волшебству!

Ответ №2:

Это может произойти из-за:

  • DbContext настроен с неправильным connection string
  • Указанный объект фактически не отображается в configuration