#環境要求
- Install-Package EntityFramework 必備
PS: MYSQL和ORACLE等需要安裝對應的資料庫Nuget包
#建構遷移配置
Enable-Migrations
參數清單
- -Auto 在為項目啟用自動遷移的情況下建構遷移配置
- -ContextTypeName MyContext -遷移目錄目錄名 為具有多個上下文的項目建構遷移配置
- -EnableAutomaticMigrations 啟用自動遷移
public Configuration() { AutomaticMigrationsEnabled = false; // 是否開啟自動遷移 }
#添加遷移記錄
Add-Migration 遷移名稱
參數清單
- -IgnoreChanges 建構空遷移,忽略目前模型中檢測到的任何挂起的更改。這可以用來建立初始的、空的遷移,以便為現有的遷移啟用遷移。
- -Force 現有遷移名 指定重新建構現有遷移。
- -ProjectName 指定包含遷移配置類型的項目使用。如果省略,則在包管理器控制台中選擇的預設項目。
- -StartUpProjectName 指定要用于命名連接配接字元串的配置檔案。如果省略,将使用指定項目的配置檔案。
- -ConfigurationTypeName 指定要使用的遷移配置。如果忽略,遷移将嘗試在目标中定位單個遷移配置類型項目。
- -ConnectionString 指定要使用的連接配接字元串,如果忽略使用預設。
- -ConnectionProviderName 指定連接配接字元串的提供程式固定名稱。
- -AppDomainBaseDirectory 指定用于運作遷移的應用程式域的目錄。
#同步到資料庫
Update-Database
參數清單
- -TargetMigration 遷移名稱 同步資料庫到指定遷移版本
- -Script 生成腳本以将資料庫從目前狀态更新到最新的遷移
- -Script -SourceMigration 遷移A-TargetMigration 遷移B 将名為“A”的遷移到名為“B”的指定目标
- -Script -SourceMigration $InitialDatabase 生成一個腳本,該腳本可以将目前處于任何版本的資料庫更新到最新版本
- -TargetMigration $InitialDatabase 復原已應用于資料庫的任何遷移
- -Verbose 檢視所執行的SQL語句
- -SourceMigration 指定要使用的特定遷移的名稱作為更新的起點
- -Force 指定自動遷移資料庫
- -ProjectName 指定包含遷移配置類型的項目
- -StartUpProjectName 指定要用于命名連接配接字元串的配置檔案
- -ConfigurationTypeName 指定要使用的遷移配置
- -ConnectionStringName 指定要從應用程式的配置檔案
- -ConnectionString 指定要使用的連接配接字元串
- -ConnectionProviderName 指定連接配接字元串的提供程式固定名稱
#遇到的問題
問題提示:enable-migrations failed to build.
問題報錯:EF生成同步遷移報錯
解決方法:重新生成解決方案解決