EntityFramework Migration 数据迁移命令

常用命令集合:

1. 【Enable-Migrations】开启数据迁移,开启后项目中会添加【Migrations】文件夹。

  相关命令:【Enable-Migrations -EnableAutomaticMigrations 】开启自动数据迁移,不产生代码文件

2. 【Add-Migration <自定义文件名>】生成数据迁移更新文件,如Add-Migration AddPost

3. 【Update-Database】更新数据库结构

  相关命令:【Update-Database -Verbose】更新数据库结构,并显示执行的SQL

       【Update-Database -TargetMigration <要降级到的文件名>】降级,自定义文件名为Add-Migration时输入的文件名,空数据库文件名为$InitialDatabase,如 Update-Database -TargetMigration AddPost

       【Update-Database -Script -SourceMigration: <源> -TargetMigration: <目标>】,生成数据库SQL,只生成不执行数据更新,如Update-Database -Script -SourceMigration: $InitialDatabase -TargetMigration: AddPostAbstract

       运行 Update-Database 命令,但此时指定 –Script 标记,使更改写入脚本而不应用。我们还将指定为其生成脚本的源和目标迁移。我们希望脚本用于从空数据库 ($InitialDatabase) 最新版本(迁移 AddPostAbstract)的迁移。如果不希望指定目标迁移,迁移将使用最新迁移作为目标。如果未指定源迁移,迁移将使用数据库的当前状态。

       【Update-Database -ConnectionString "Server=localhost; Database=MyAbpZeroProject; User=sa; Password=;" -ConnectionProviderName "System.Data.SqlClient" -ProjectName "Abp.Samples.Blog.EntityFramework" -Verbose】指定更新连接

4. 在程序启动时,自动执行更新,不需要人手update-database,在程序启用时添加

 Database.SetInitializer(new MigrateDatabaseToLatestVersion<BlogContext, Configuration>()); 

 BlogContext为DbContext,Configuration是Migrations文件夹里面的Configuration.cs

原文地址:https://www.cnblogs.com/mylct/p/4872293.html