加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 创建新控制器 – 运行所选代码生成器时出错

发布时间:2020-12-16 09:40:02 所属栏目:asp.Net 来源:网络整理
导读:我正在使用Visual Studio Express 2013 for Web(特别是版本12.0.21005.1 REL).这是我使用VS2013的第一个项目,到目前为止我一直在使用VS2012. 我试图在我的asp.net MVC应用程序中创建一个新的控制器.我首先使用Entity Framework 5代码(.NET 4.5).我希望Visual
我正在使用Visual Studio Express 2013 for Web(特别是版本12.0.21005.1 REL).这是我使用VS2013的第一个项目,到目前为止我一直在使用VS2012.

我试图在我的asp.net MVC应用程序中创建一个新的控制器.我首先使用Entity Framework 5代码(.NET 4.5).我希望Visual Studio为我创建模板(你知道,一个带有读/写/删除等视图的控制器,而不是自己编写代码).

但是,每次我尝试创建控制器时,都会收到以下错误消息:

VS 2013中是否存在某种错误?我无法弄清楚这意味着什么,重启VS2013没有帮助.

以下是血腥的细节….实际上它非常简单,因为这是一个迄今为止编写的代码很少的新项目.

我的模特:

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文件中,我有以下内容

<add name="EFDbContext"
         connectionString="Data Source=JONSNASQLEXP2012WT;Initial Catalog=ProfessionalSiteDb; Integrated Security=True; MultipleActiveResultSets=True"
         providerName="System.Data.SqlClient"/>

在标签内.

现在是时候创建一个控制器了.我在Solution Explorer中右键单击Controllers,然后选择Add a new Controller.

然后

当我点击Add I get

我无法弄清楚如何摆脱这个错误.我想作为一种解决方法,我可以自己输入代码,但我想知道这是一个错误还是我做错了什么.在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; }
        } 
}

然后,在创建控制器时,只需选择Model类的Student或Enrollment.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读