c# - 无法通过 Entity/C# 中的嘲笑来生成新的控制器
问题描述
我正在学习如何开始使用 Entity Framework 和 C#。我按照 [tutorial][1] 进行操作,但在尝试创建新的脚手架项目时出现错误。当我选择模型类、数据上下文类并选择控制器名称时,我收到以下错误消息: “运行所选代码生成器时出错:'获取类型'ContosoUniversity.Models.Student'时出错。尝试重建项目。”
我确实重建了项目,实际上两次,我一直收到这个错误消息。谁能告诉我可能会发生什么?
这些是我创建新的脚手架项目所采取的步骤:
右键单击解决方案资源管理器中的 Controllers 文件夹,选择添加,然后单击新建脚手架项目。
在 Add Scaffold 对话框中,选择 MVC 5 Controller with views, using Entity Framework,然后选择 Add。在添加控制器对话框中,进行以下选择,然后选择添加:
模型类:学生 (ContosoUniversity.Models)。(如果您在下拉列表中没有看到此选项,请构建项目并重试。)
数据上下文类:SchoolContext (ContosoUniversity.DAL)。
控制器名称:StudentController(不是StudentController)。
保留其他字段的默认值。
这就是我在我的学生类文件中设置代码的方式,在模型下:
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="data source=xxxx;initial catalog=xxxx;persist security info=True;user id=xxxx;password=xxx;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
推荐阅读
- python - IPython.display:如何更改显示图像的宽度、高度和分辨率
- ios - 从 popUp 推送到 nextViewcontroller 不起作用
- html - 在容器内定位 div 的问题
- django - 如何在django的模板中返回一个方法的多个值
- python - 发布 MQTT、AWS IoT 时出现“SSL:CERTIFICATE_VERIFY_FAILED”错误
- php - Laravel 8 rest api 电子邮件验证
- c# - 尝试使用简单的 ASP.NET Core 网站进行 RenderPartialAsync 时出现编译器错误
- c++ - 无法将第二个下标运算符重载标记为 const
- node.js - 页面 url 更改但无法访问页面上的内容
- bootstrap-4 - 移动设备上的引导列更改顺序(2、1、3 中的 1、2、3)