c# mvc 5 添加控制器时出错
Posted
技术标签:
【中文标题】c# mvc 5 添加控制器时出错【英文标题】:c# mvc 5 error while adding a controller 【发布时间】:2017-02-03 05:02:12 【问题描述】:在我的 mvc 项目中,我想使用实体框架添加一个带有视图的控制器。我正在使用本教程http://www.asp.net/mvc/overview/getting-started/introduction/accessing-your-models-data-from-a-controller
尽管我不断收到这个令人沮丧的错误
我多次重建我的项目。我尝试了一些我在互联网上找到的解决方案,例如Adding A New MVC 5 Controller with Views Using Entity Framework Scaffolding Error 或重新安装我的 nuget 包,重新启动 Visual Studio,检查我的 conecctiong 字符串(顺便说一句,这似乎没问题),添加新模型等。我不知道下一步该做什么,这就是我向您寻求帮助的原因。
我用:
Windows 7 上的 Visual Studio 2013 .NET Framework 4.6.2我的型号代码:
public class UserResModel
[Display(Name = "ReservationID")]
public int ReservationID get; set;
[Display(Name = "Class")]
public string ClassName get; set;
[Display(Name = "When")]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "0:dd/MM/yyyy", ApplyFormatInEditMode = true)]
public DateTime ClassWhen get; set;
[Display(Name = "Cancel reservation")]
public bool CancelRes get; set;
【问题讨论】:
你的模型有默认构造函数吗?能出示一下型号代码吗? 你这是什么意思?我正在用代码编辑我的问题 将您的网络项目设置为启动项目 不幸的是 id 没有帮助 :( 我仍然遇到同样的错误 你试过我下面的答案了吗? 【参考方案1】:您需要将“Key”属性添加到您的 ReservationID 属性。脚手架在自动生成控制器代码时需要 Key 才能工作。
[Key]
[Display(Name = "ReservationID")]
public int ReservationID get; set;
添加后,重新构建项目并再次尝试搭建脚手架。
【讨论】:
不幸的是 id 没有帮助 :( 我仍然遇到同样的错误 如果您使用带有实体框架和视图选项的脚手架控制器,您还需要向您的 DbContext 类添加一个 DbSet以上是关于c# mvc 5 添加控制器时出错的主要内容,如果未能解决你的问题,请参考以下文章
控制器中的 Asp.Net MVC 5 ModelState 具有索引、添加、编辑