2017-08-02 66 views
0

當試圖腳手架控制器,我得到以下錯誤:在MVC核心腳手架控制器時,沒有找到主鍵

"There was an error running the selected code generator: 'The entity type 'Company.Models.Office' requires a primary key to be defined at Microsoft.VisualStudio.Web.CodeGeneration.ActionInvoker.b_6-0()"

我是新來的MVC核心,但我的理解是,一個主鍵默認定義作爲ID或classnameID。我也嘗試添加[Key]屬性並將主鍵重命名爲OfficeID。我經歷類似的過程去與另一個類,並沒有碰到這個問題

public class Office 
    { 
     public int ID; 
     public string Name; 
     public int SiteID; 

    } 

回答

1

我不知道這是否會解決您的問題,但也許嘗試以下。這聽起來與你已經描述的類似,但是我已經發布了它,只是爲了確保。

public class Office 
{ 
    [Key] 
    public int OfficeID { get; set; } 
    public string Name { get; set; } 
    public int SiteID { get; set; } 
} 

你應該知道,你的主鍵被調用並不重要。但是,爲了方便和遵循標準,您應該將其稱爲「ID」或表格/班級名稱加「ID」。

另外,你有沒有嘗試重新啓動Visual Studio和你的電腦?有時我發現這是解決一些編譯時錯誤的唯一方法。

+0

似乎只需要重置。對不起,但感謝您的幫助! – coolhand

+0

@coolhand不用擔心,很高興我能幫上忙! – user1779775