无法通过实体/C# 中的整形生成新控制器



我正在学习有关实体框架和 C# 入门的教程。 我正在按照 [教程][1] 进行操作,当我尝试创建新的脚手架项目时出现错误。当我选择模型类、数据上下文类并选择控制器名称时,我收到以下错误消息:"运行所选代码生成器时出错:"获取类型'ContosoUniversity.Models.Student'时出错。尝试重建项目。

我确实重建了该项目,实际上两次,并且不断收到此错误消息。谁能告诉我会发生什么?

以下是我创建新脚手架项目的步骤:

  • 右键单击"解决方案资源管理器"中的"控制器"文件夹,选择"添加"。 ,然后单击新建基架项目。

    在"添加基架"对话框中,选择"带视图的 MVC 5 控制器"。 使用实体框架,然后选择"添加"。在添加控制器中 对话框中,进行以下选择,然后选择"添加":

    模范班:学生(ContosoUniversity.Models(。(如果您没有看到 下拉列表中的此选项,生成项目,然后重试。

    数据上下文类:SchoolContext (ContosoUniversity.DAL(。

    控制器名称:学生控制器(不是学生控制器(。

    保留其他字段的默认值。

这是我在学生类文件中的"模型"下设置代码的方式:

using System;
using System.Collections.Generic;
namespace ContosoUniversity.Models
{
public class Student
{
public int ID { get; set; }
public string LastName { get; set; }
public string FirstMidName { get; set; }
public DateTime EnrollmentDate { get; set; }
public virtual ICollection<Enrollment> Enrollments { get; set; }
}
}

最后,这就是我如何设置与本教程中使用的 localDB 的连接。

> <connectionStrings>
>     <add name="SchoolContext" connectionString="Data Source=(LocalDb)MSSQLLocalDB;Initial
> Catalog=ContosoUniversity1;Integrated Security=SSPI;"
> providerName="System.Data.SqlClient"/>   </connectionStrings>

更改连接字符串

由此

<add name="xxx" connectionString="Data Source=xxx;initial catalog=xxx;Persist Security Info=True;User ID=xxxx;Password=xxxx;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />

对此

<add name="xxx" connectionString="metadata=res://*/EFMOdel.csdl|res://*/EFMOdel.ssdl|res://*/EFMOdel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=xxxx;initial catalog=xxxx;persist security info=True;user id=xxxx;password=xxx;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

相关内容

  • 没有找到相关文章

最新更新