學習ASP.NET Core Razor 編程系列十一——把新欄位更新到資料庫

來源:互聯網
上載者:User

標籤:書籍   title   update   name   建立項目   class   mep   get   欄位   

學習ASP.NET Core Razor 編程系列目錄

學習ASP.NET Core Razor 編程系列一

學習ASP.NET Core Razor 編程系列二——添加一個實體

 學習ASP.NET Core Razor 編程系列三——建立資料表及建立項目基本頁面

學習ASP.NET Core Razor 編程系列四——Asp.Net Core Razor列表模板頁面

學習ASP.NET Core Razor 編程系列五——Asp.Net Core Razor建立模板頁面

學習ASP.NET Core Razor 編程系列六——資料庫初始化

學習ASP.NET Core Razor 編程系列七——修改列表頁面

學習ASP.NET Core Razor 編程系列八——並發處理

學習ASP.NET Core Razor 編程系列九——增加查詢功能

 學習ASP.NET Core Razor 編程系列十——添加新欄位

 

 

         在經過了上面篇文章的學習之後,本篇文章我們來學習如何使用 Entity Framework Code First 移轉功能將新欄位添加到模型,並且同時將新欄位添加到資料庫中。

            使用 EF Code First 自動建立資料庫時,Code First 會向資料庫添加一個表,以協助追蹤資料庫的架構是否與產生它的實體類同步。 如果它們不同步,EF 就會引發異常。 這樣一來就更容易發現一致的資料庫表或者代碼問題。

          我們接下來使用Code First遷移功能更新資料庫。

         1. 現在我們來修改seeddata類,在類中增加一個Publishing欄位,並提供資料。修改樣本如下所示,你可以對每一本書籍資訊都參照修改。

   context.Book.AddRange(                    new Book                    {                        Name = "Python編程 從入門到實踐",                        ReleaseDate = DateTime.Parse("2018-1-12"),                        Author = "埃裡克·馬瑟斯",                        Price = 75.99M,                        Publishing="機械出版社"                    },

          2. 在Visual Studio 2017菜單中選擇產生->產生解決方案

         3.在Visual Studio 2017的菜單中選擇“工具”菜單-->“NuGet 包管理器”>“包管理器控制台”。 如。

       

         4. 在 PMC 中,輸入以下命令,

          Add-Migration Publishing

 

      Add-Migration 指令會通知架構執行以下操作:

    1)  將 Book實體類與 資料庫中的Book表進行比較。

    2)  建立代碼以將在資料庫中對錶Books表結構進行更新。如。

    3)  Visual Studio 2017對於有新欄位“Publishing”的遷移檔案的命名是當前日期+欄位名稱。這樣命名這樣有助於管理。如。

 

         5. 在執行完上面的指令之後,在 PMC 中,輸入以下命令,

            Update-Database

 

          7. 在執行完以上指令之後,在資料庫中添加了Publishing欄位。如。

 

        8. 雖然我們把欄位添加 到資料庫,但是這個欄位,卻是沒有資料的。如。

 

 

那如何給欄位同值呢?

  1. 如果你是開發,而且已經修改了初始化類SeedData類。那麼可以參考(學習ASP.NET Core Razor 編程系列六——資料庫初始化)給資料庫初始化資料。
  2. 如果你把所有的記錄從資料庫中刪除。你可以在瀏覽器中開啟書籍列表頁面,然後使用刪除連結刪除記錄,也可以使用SQL Server物件總管(SQL Server Management Studio)使用SQL語句把資料從資料庫中刪除。

 

          現在我們在visual studio 2017中按F5運行應用程式,應用程式不會在如上一篇文章那樣報錯了。在應用程式運行起來之後,在瀏覽器中分別開啟建立/編輯/列表頁面,驗證這些頁面中是否已經有了publishing 欄位的書籍資訊。如。

列表頁面:

 

建立頁面:

 

編輯頁面:

 

 

 

 

 

學習ASP.NET Core Razor 編程系列十一——把新欄位更新到資料庫

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.