資料遷移:
1、打開程式包管理控制台
工具=》NuGet 包管理器=》程式包管理器控制台
2、在程式包管理器控制台,執行語句。
初始化:
1、Enable-Migrations -EnableAutomaticMigrations
2、Add-Migration InitialCreate
3、Update-Database -Verbose
更新資料庫:
1、Add-Migration ChangeTable
2、Update-Database -Verbose
復原到空資料庫:
Update-Database –TargetMigration: $InitialDatabase
生成遷移腳本:Update-DataBase –script
遷移指令:Add-Migration add_Person
資料遷移注意一下啟動項目
資料庫已存在,隻是新增了幾個字段,目前是沒有初始化資料庫遷移這些的情況:
1、初始化資料遷移
指令: (1)、Enable-Migrations -EnableAutomaticMigrations
(2)、Add-Migration InitialCreate
2、在目錄Migrations中 會生成的檔案 201901230316301_ChangeTable.cs
把 Up() 和 Down() 的方法體删除掉,隻留個空方法
3、檢視資料庫是否有 __MigrationHistory 這個表,有的話 就把表删除
4、執行資料庫遷移指令
指令:Update-Database -Verbose
5、如果在第4步出現錯誤
如Error:名稱已被一現有限制條件占用, 或者 名稱已由現有對象使用
那就執行指令,檢視生成的SQL語句,然後再找錯誤的原因。
指令:Update-DataBase –script
常用指令:
1.Enable-Migrations (建立遷移目錄:Migrations,如果有多個資料上下文可以用 -ContextTypeName 指令遷移對應的資料上下文 )
2.Add-Migration (建立一個遷移檔案)
3.update-database(啟動遷移,生成資料庫)
4.install-package entityframework(初始化配置包)
5. Update-Database -Script -SourceMigration:" " -TargetMigration:" " (生成資料庫版本之間的Sql腳本,正式區換版時有用)
6.Update-Database –TargetMigration:" " (進行資料庫版本回溯)
7.Update-Database –TargetMigration: $InitialDatabase -Script (回到初始狀态)