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生成同步迁移报错
解决方法:重新生成解决方案解决