2016-09-25 60 views
2

在我的mvc项目中,我想使用实体框架添加一个带有视图的控制器。我用这个教程http://www.asp.net/mvc/overview/getting-started/introduction/accessing-your-models-data-from-a-controller在添加控制器时出现c#mvc 5错误

Altough我不断收到这个令人沮丧的错误 enter image description here

我rebuilded我的项目很多,很多次这样做。我尝试了一些我在互联网上找到的解决方案,比如Adding A New MVC 5 Controller with Views Using Entity Framework Scaffolding Error ,或者重新安装我的nuget软件包,重新启动Visual Studio,检查我的conecctiong字符串(看起来好像是btw),添加新模型等。我不知道下一步该怎么做,这就是为什么我在问你求助。

我用:

  • 的Visual Studio 2013在Windows 7
  • 的.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; } 

}

+0

您的模型是否有默认构造函数?你能展示模型代码吗? – mbrdev

+0

你是什么意思?我使用代码编辑我的问题 – Lea

+0

将您的web项目设置为启动项目 –

回答

0

你需要添加'Key'属性指向您的ReservationID属性。脚手架需要钥匙在自动生成控制器代码时工作。

[Key] 
[Display(Name = "ReservationID")] 
public int ReservationID { get; set; } 

一旦您添加了该项目,重建项目并再次尝试脚手架。

+0

不幸的是id没有帮助:(我stil得到相同的错误 – Lea

+0

如果你使用的脚手架控制器的实体框架和视图选项,你将需要添加一个DbSet 自动属性到您的DbContex t类(在默认的项目中称为ApplicationDbContext),一旦添加完成重建并重试。 – mbrdev