天天看點

C#-WebApi-EF-CodeFirst-建構遷移指令說明

#環境要求

  • 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生成同步遷移報錯

解決方法:重新生成解決方案解決