создать новый контроллер - ошибка запуска выбранного генератора кода

asp.net-mvc asp.net-mvc-5 entity-framework-6 visual-studio-2013

Вопрос

Я использую Visual Studio Express 2013 для Интернета (в частности, версия 12.0.21005.1 REL). Это мой первый проект с использованием VS2013, я использовал VS2012 до этого момента.

Я пытаюсь создать новый контроллер в моем asp.net MVC-приложении. Я использую Entity Framework 5 с первым кодом (.NET 4.5). Я хочу, чтобы Visual Studio создала для меня шаблон (вы знаете, контроллер с представлениями для чтения / записи / удаления и т. Д., Вместо того, чтобы писать код сам с нуля).

Однако каждый раз, когда я пытаюсь создать контроллер, появляется следующее сообщение об ошибке:

введите описание изображения здесь

Есть ли какая-то ошибка в VS 2013? Я не могу понять, что это значит, и перезапуск VS2013 не помогает.

Вот детали gory ... на самом деле все это очень просто, так как это новый проект с очень маленьким кодом, написанным до сих пор.

Моя модель:

namespace ProfessionalSite.Models
{
    public class EntityModels
    {

        public class Student
        {
            public int ID { get; set; }
            public string LastName { get; set; }
            public string FirstMidName { get; set; }

            public virtual ICollection<Enrollment> Enrollments { get; set; }
        }


        public class Enrollment
        {
            public int ID { get; set; }
            public string EnrollmentName { get; set; }
            public string Credits { get; set; }
        }


        // Create the class that inherits from DbContext
        // The name of this class is also used as the connection string in web.config 
        public class EFDbContext : DbContext
        {
            public DbSet<Student> Students { get; set; }
            public DbSet<Enrollment> Enrollments { get; set; }
            } 
    }
}

И в моем файле web.config у меня есть следующее

namespace ProfessionalSite.Models
{
    public class EntityModels
    {

        public class Student
        {
            public int ID { get; set; }
            public string LastName { get; set; }
            public string FirstMidName { get; set; }

            public virtual ICollection<Enrollment> Enrollments { get; set; }
        }


        public class Enrollment
        {
            public int ID { get; set; }
            public string EnrollmentName { get; set; }
            public string Credits { get; set; }
        }


        // Create the class that inherits from DbContext
        // The name of this class is also used as the connection string in web.config 
        public class EFDbContext : DbContext
        {
            public DbSet<Student> Students { get; set; }
            public DbSet<Enrollment> Enrollments { get; set; }
            } 
    }
}

в тегах.

Теперь пришло время создать контроллер. Я нажимаю правой кнопкой мыши на контроллерах в обозревателе решений и выбираю «Добавить новый контроллер».

введите описание изображения здесь

А потом

введите описание изображения здесь

И когда я нажимаю «Добавить», я получаю

введите описание изображения здесь

Я не могу понять, как избавиться от этой ошибки. Я предполагаю, что в качестве обходного пути я могу просто ввести код сам, но я хотел бы знать, является ли это ошибкой или что-то, что я сделал неправильно. В VS2012 это просто сработало ...

Я был бы признателен за любую помощь или указатели. Благодарю.

Принятый ответ

Вам не нужен класс EntityModels , см. Ниже:

namespace ProfessionalSite.Models
{
        public class Student
        {
            public int ID { get; set; }
            public string LastName { get; set; }
            public string FirstMidName { get; set; }
            public virtual ICollection<Enrollment> Enrollments { get; set; }
        }

        public class Enrollment
        {
            public int ID { get; set; }
            public string EnrollmentName { get; set; }
            public string Credits { get; set; }
        }

        // Create the class that inherits from DbContext
        // The name of this class is also used as the connection string in web.config 
        public class EFDbContext : DbContext
        {
            public DbSet<Student> Students { get; set; }
            public DbSet<Enrollment> Enrollments { get; set; }
        } 
}

Затем, когда вы создаете контроллер, просто выберите класс « Student или « Enrollment для модели».




Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему