国产精品免费嫩草研究院|无遮羞动漫在线观看AV|国产麻豆精品传媒AV国产在线|村在线观看|寂寞情人1正版|韩国床震韩国床震古|精品系列专区久久

學習ASP.NET Core Blazor編程系列四——遷移

學習ASP.NET Core Blazor編程系列一——綜述學習ASP.NET Core Blazor編程系列二——第一個Blazor應用程序(上)學習ASP.NET Core Blazor編程系列二——第一個Blazor應用程序(中)學習ASP.NET Core Blazor編程系列二——第一個Blazor應用程序(下)
學習ASP.NET Core Blazor編程系列二——第一個Blazor應用程序(完)學習ASP.NET Core Blazor編程系列三——實體在具體的實際項目中 , 數據實體類隨著應用程序的功能的變化而變化:添加和刪除新的實體或屬性 , 并且需要相應地去修改數據庫的表或架構 , 使其與應用程序中的實體保持同步 。EF Core中的遷移功能能夠以遞增方式更新數據庫架構或表 , 使其與應用程序的數據實體類保持同步 , 同時保留數據庫中的現有數據 。
簡要地說 , 遷移的方式如下:

  • 當項目中的數據實體類有了變改時 , 開發人員使用 EF Core 工具添加相應的遷移 , 以使數據庫架構同項目中的數據實體類保持同步 。EF Core 將當前數據實體類與舊的數據實體類進行快照比對 , 以確定差異 , 并生成遷移源文件;遷移源文件可在項目的源代碼管理中進行跟蹤 , 如同其他任何源文件 。
  • 生成新的遷移源文件后 , 可通過多種方式將其應用于數據庫 。EF Core 在一個特殊的歷史記錄表中記錄所有的遷移操作 , 使其知道哪些遷移已執行 , 哪些遷移尚未執行 。
 
一、創建腳本工具并執行初始遷移
在本篇文章中 , 我們來學習如何使用包管理控制臺(PMC)來對數據庫進行更新:
? 執行Add-Migration Initial生成代碼文件 。
? 執行Update-Database命名 , 更新數據庫 。
  1. 從菜單中選擇“工具àNuGet包管理器器—>程序包管理器控制臺”菜單 。
    學習ASP.NET Core Blazor編程系列四——遷移

    文章插圖
2. 在PMC中 , 輸入以下命令: Add-Migration Initial 。會提示如下錯誤“Add-Migration : 無法將“Add-Migration”項識別為 cmdlet、函數、腳本文件或可運行程序的名稱 。請檢查名稱的拼寫 , 如果包括路徑 , 請確保路徑正確 , 然后再試一次 。” 。如下圖 。
學習ASP.NET Core Blazor編程系列四——遷移

文章插圖
3. 以上錯誤信息 , 說明我們缺少相應的包 , 在本文中主要用到以下三個包:Microsoft.EntityFrameworkCore.SqlServer (適用于EF Core SQLServer 提供程序 , 這個包我們在前面的文章中已經安裝了 。)Microsoft.EntityFrameworkCore.Design(適用于EF Core .NET CoreCLI 工具)Microsoft.EntityFrameworkCore.Tools(適用于 EF Core 的包管理器控制臺工具)
4.使用VisualStudio NuGet 包管理器控制臺安裝 , 在PMC中 , 輸入以下命令:
Install-Package Microsoft.EntityFrameworkCore.ToolsInstall-Package Microsoft.EntityFrameworkCore.Design
5.上面的命令執行完畢之后 , Nuget會自動安裝我們所指定的包 , 如下圖中紅框所示 。然后我們在PMC中輸入 Add-Migration Initial 。如下圖 。
【學習ASP.NET Core Blazor編程系列四——遷移】
學習ASP.NET Core Blazor編程系列四——遷移

文章插圖
6. 在上面的命令執行完畢之后 , 會在項目中增加Migrations目錄和用于創建初始數據庫的代碼 , 如下圖 。這些代碼是基于DbContext指定的模型(在Models/ BookCntext.cs) 。初始參數用于命名遷移 。您可以修改成任何名稱 , 但按慣例您可以選擇描述遷移的名稱 。

經驗總結擴展閱讀