2016-09-25 61 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