2016-07-28 65 views
1

我想添加一些額外的字段到默認的asp.net mvc應用程序中的註冊頁面,當我們打開visual studio時會得到這些字段。我遵循這個教程。如何在asp.net mvc中添加額外的字段來註冊頁面?

Customize MVC 5 Register Page

這些都是我跟着開口,我們在asp.net MVC的Visual Studio獲取默認的項目之後的步驟。

  1. 首先我運行了項目,點擊註冊按鈕並註冊了一個隨機用戶。我這樣做,以便創建默認數據庫。

    enter image description here

  2. 現在被生成的數據庫,我到數據庫並加入額外的列像性別,生日,名字,姓氏和AboutUser並重新更新的數據庫表稱爲ASPNETUSERS。

enter image description here

  • 現在我去RegisterViewModel並添加這些相同的性質爲好。
  • enter image description here

  • 之後我去ApplicationUser和添加了相同的性能爲好。
  • enter image description here

  • 之後我改變Register.cshtml摻入額外文本框,文本域爲我創建新字段的視圖。

  • 現在我去了控制器,並添加了這些屬性。到目前爲止,對我來說一切似乎都很好,除了事實上數據庫的定義從一開始就改變了。

  • enter image description here

    這是頁面的外觀所有這些變化之後。

    enter image description here

    現在我跑的項目,並試圖註冊一個人,但我不斷收到此錯誤。

    enter image description here

    我研究這個錯誤,但解決方案建議,我應該嘗試在myDBContext的構造函數中添加Database.SetInitializer<YourDbContext>(null);。但事情是,我根本沒有任何背景。所以這個解決方案似乎不適合我。

    +1

    你不應該直接修改數據庫。我建議你刪除你添加的字段並按照[@拉脫維亞語的答案](http://stackoverflow.com/a/38647431/237917) – Eonasdan

    +0

    所以我必須先做這件事,然後改變我的數據庫結構?或者我現在可以解決這個問題嗎? –

    +1

    不,遷移是你應該如何改變數據庫模式。像這樣將屬性添加到'ApplicationUser',然後運行遷移步驟。您可能必須先運行'enable-migrations'。您需要閱讀Code First。 – Eonasdan

    回答

    3

    當你在解決方案中改變任何實體時,你應該改變你的db(所以你的對象模型等於你的db模型)。

    在這種情況下,你應該打開NuGet包控制檯(服務>的NuGet>控制檯)和使用:

     add-migration <YourNewMigrationName> 
    

    和後創建的新移民(代碼改變你的數據庫模型),你必須接受它:

     update-database 
    
    0

    剛剛刪除的記錄添加到遷移表

    相關問題